当前位置:首页 > 谈天说地

Android实现多张图片合成加载动画

34资源网2022-07-28479

本文实例为大家分享了android实现多张图片合成加载动画的具体代码,供大家参考,具体内容如下

1、自定义progressdialog

public class myprogressdialog extends progressdialog {
    private int procressloadres;
    private imageview mimageview;
    private animationdrawable animationdrawable;

    public myprogressdialog(context context,int procressloadres) {
        super(context);
        this.procressloadres = procressloadres;
    }

    public myprogressdialog(context context, int theme, int procressloadres) {
        super(context, theme);
        this.procressloadres = procressloadres;
    }

    @override
    protected void oncreate(bundle savedinstancestate) {
        super.oncreate(savedinstancestate);
        setcontentview(r.layout.layout_progress);
        mimageview = (imageview) findviewbyid(r.id.image);
        //设置动画背景
        mimageview.setbackgroundresource(procressloadres);
        //获取动画对象,必须在上一步之后
        animationdrawable = (animationdrawable) mimageview.getbackground();
        mimageview.post(new runnable() {
            @override
            public void run() {
                //启动动画
                animationdrawable.start();
            }
        });
    }
}

2、myprogressdialog对应的布局layout_progress.xml

<?xml version="1.0" encoding="utf-8"?>
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:background="@null">

    <imageview
        android:id="@+id/image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</linearlayout>

3、使用自定义的myprogressdialog

public class mainactivity extends appcompatactivity {

    private button button;
    private myprogressdialog progressdialog;
    @override
    protected void oncreate(bundle savedinstancestate) {
        super.oncreate(savedinstancestate);
        setcontentview(r.layout.activity_main);
        button = (button) findviewbyid(r.id.button);
        //传入style和anim文件
        progressdialog = new myprogressdialog(this,r.style.dialog,r.anim.loading);

        button.setonclicklistener(new view.onclicklistener() {
            @override
            public void onclick(view view) {
                progressdialog.show();
            }
        });
    }
}

4、使用时需要一个style文件和一个anim文件

style.xml

<style name="dialog" parent="@android:style/theme.dialog">
        <!--边框-->
        <item name="android:windowframe">@null</item>
        <!--是否浮现在activity之上-->
        <item name="android:windowisfloating">true</item>
        <!--半透明-->
        <item name="android:windowistranslucent">false</item>
        <!--无标题-->
        <item name="android:windownotitle">true</item>
        <!--背景透明去掉背景色边框也就去掉了 -->
        <item name="android:windowbackground">@color/transparent</item> 
        <!--模糊-->
        <item name="android:backgrounddimenabled">false</item>
    </style>

anim文件夹下的loading.xml文件

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@mipmap/loading1" android:duration="100"/>
    <item android:drawable="@mipmap/loading2" android:duration="100"/>
    <item android:drawable="@mipmap/loading3" android:duration="100"/>
    <item android:drawable="@mipmap/loading4" android:duration="100"/>
    <item android:drawable="@mipmap/loading5" android:duration="100"/>
    <item android:drawable="@mipmap/loading6" android:duration="100"/>
    <item android:drawable="@mipmap/loading7" android:duration="100"/>
    <item android:drawable="@mipmap/loading8" android:duration="100"/>
    <item android:drawable="@mipmap/loading9" android:duration="100"/>
    <item android:drawable="@mipmap/loading10" android:duration="100"/>
    <item android:drawable="@mipmap/loading11" android:duration="100"/>
    <item android:drawable="@mipmap/loading12" android:duration="100"/>
    <item android:drawable="@mipmap/loading13" android:duration="100"/>
    <item android:drawable="@mipmap/loading14" android:duration="100"/>
    <item android:drawable="@mipmap/loading15" android:duration="100"/>
    <item android:drawable="@mipmap/loading16" android:duration="100"/>
    <item android:drawable="@mipmap/loading17" android:duration="100"/>
    <item android:drawable="@mipmap/loading18" android:duration="100"/>
    <item android:drawable="@mipmap/loading19" android:duration="100"/>
    <item android:drawable="@mipmap/loading20" android:duration="100"/>
    <item android:drawable="@mipmap/loading21" android:duration="100"/>
    <item android:drawable="@mipmap/loading22" android:duration="100"/>
    <item android:drawable="@mipmap/loading23" android:duration="100"/>
    <item android:drawable="@mipmap/loading24" android:duration="100"/>
    <item android:drawable="@mipmap/loading25" android:duration="100"/>
    <item android:drawable="@mipmap/loading26" android:duration="100"/>
    <item android:drawable="@mipmap/loading27" android:duration="100"/>
    <item android:drawable="@mipmap/loading30" android:duration="100"/>
    <item android:drawable="@mipmap/loading31" android:duration="100"/>
    <item android:drawable="@mipmap/loading32" android:duration="100"/>
    <item android:drawable="@mipmap/loading33" android:duration="100"/>
    <item android:drawable="@mipmap/loading34" android:duration="100"/>
</animation-list>

在color.xml文件中添加

<color name="transparent">#00ffffff</color>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。

看完文章,还可以扫描下面的二维码下载快手极速版领4元红包

快手极速版二维码

快手极速版新人见面礼

除了扫码领红包之外,大家还可以在快手极速版做签到,看视频,做任务,参与抽奖,邀请好友赚钱)。

邀请两个好友奖最高196元,如下图所示:

快手极速版邀请好友奖励

扫描二维码推送至手机访问。

版权声明:本文由34楼发布,如需转载请注明出处。

本文链接:https://www.34l.com/post/19941.html

分享给朋友:

相关文章

电脑微信可以发多大的视频(视频超过40分钟发送步骤)

电脑微信可以发多大的视频(视频超过40分钟发送步骤)

虽然腾讯在短视频领域迟迟未能取得优势,微视也很难撼动抖音、快手等头部APP的地位,但一直以来都未放弃这块蛋糕。 2021年二季度,随着微信以及Wechat活跃用户账户达到12.5亿,微信视频号的成长空间也被进一步拉大。而腾讯也很可能在短视频…

购买须知模板怎么编辑(淘宝买家须知免费素材)

购买须知模板怎么编辑(淘宝买家须知免费素材)

为了帮助您入门,在您注册 Shopify 帐户时,后台的模版页面中会设置一个默认模版。如果您想为在线商店自定义一个不同的模版,则需要向后台添加一个模版。 您可通过以下几种方式添加模版: 如果您的计算机上的 .zip 文件中已有一个模版,那么…

联想乐pad平板电脑有哪些版本(平板电脑排行榜性价比)

联想乐pad平板电脑有哪些版本(平板电脑排行榜性价比)

对于安卓平板电脑行业而言,创新相对来说比较困难。一方面,安卓系统的功能早已经被各方挖掘殆尽;另一方面,从整个平板电脑行业大环境来看,iPad阵营坚固的护城河也影响着安卓阵营的创新欲望。再加上时下热衷于投身平板电脑行业的品牌本来就不像以往那么…

融资丨「PPIO边缘云」完成亿元A1轮融资,刷新边缘云领域融资记录

融资丨「PPIO边缘云」完成亿元A1轮融资,刷新边缘云领域融资记录

创业邦获悉,近日,边缘云公司PPIO宣布完成过亿元A1轮融资,由创世伙伴、张江科投、磐霖资本等多家机构联合投资,Pre-A轮投资方蓝驰创投、沸点资本及华业天成继续追加投资,光源资本担任融资财务顾问。这是公司半年内再次获投资人支持,公司A2轮…

语音导出软件哪个好用(免费的语音打包软件推荐)

语音导出软件哪个好用(免费的语音打包软件推荐)

有些QQ用户想把苹果手机或安卓手机QQ语音消息导出到电脑上,如保存为mp3格式文件,方便在电脑上的任意播放器中进行播放,或者想将某人发给自己的一些语音消息串联合并为一个MP3文件。以前手机QQ语音消息是保存在手机上的,但随着QQ版本的升级,…