Android实现多张图片合成加载动画
本文实例为大家分享了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元,如下图所示:







