作者:QEWERTGF_978 | 来源:互联网 | 2023-08-14 19:47
本文实例为大家分享了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
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
anim文件夹下的loading.xml文件
在color.xml文件中添加
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。