Android实现多张图片合成加载动画 本文实例为大家分享了Android实现多张图片合成加载动画的具体代码,供大家参考,具体内容如下 1.自定义ProgressDialog public class MyProgressDialog extends ProgressDialog { private int procressLoadRes; private ImageView mImageView;
本文实例为大家分享了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>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
				 沃梦达教程
				
			本文标题为:Android实现多张图片合成加载动画
				
        
 
            
        
             猜你喜欢
        
	     - Android MaterialButton使用实例详解(告别shape、selector) 2023-06-16
 - 作为iOS开发,这道面试题你能答出来,说明你基础很OK! 2023-09-14
 - Flutter实现底部和顶部导航栏 2022-08-31
 - Android studio实现动态背景页面 2023-05-23
 - Android实现轮询的三种方式 2023-02-17
 - Android实现监听音量的变化 2023-03-30
 - 最好用的ios数据恢复软件:PhoneRescue for Mac 2023-09-14
 - 详解flutter engine 那些没被释放的东西 2022-12-04
 - iOS 对当前webView进行截屏的方法 2023-03-01
 - SurfaceView播放视频发送弹幕并实现滚动歌词 2023-01-02
 
						
						
						
						
						
				
				
				
				