Android的ProgressDialog 本身不支持内置动画。但是,您可以通过自定义一个带有动画效果的对话框来实现这个需求。以下是一个简单的示例,展示了如何创建一个带有动画效果的 ProgressDialog:
res/anim
目录下创建一个动画文件,例如 progress_animation.xml
。在这个文件中定义动画效果:<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="500" />
<scale
android:fromXScale="0.5"
android:toXScale="1.0"
android:fromYScale="0.5"
android:toYScale="1.0"
android:pivotX="50%"
android:pivotY="50%"
android:duration="500" />
</set>
public class CustomProgressDialog {
private Dialog dialog;
public CustomProgressDialog(Context context) {
dialog = new Dialog(context);
dialog.setContentView(R.layout.custom_progress_dialog);
dialog.getWindow().setLayout(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
dialog.getWindow().setGravity(Gravity.CENTER);
// 设置动画效果
Animation animation = AnimationUtils.loadAnimation(context, R.anim.progress_animation);
dialog.getWindow().setWindowAnimations(animation.getAnimationStyle());
}
public void show() {
dialog.show();
}
public void dismiss() {
if (dialog.isShowing()) {
dialog.dismiss();
}
}
}
CustomProgressDialog
类:CustomProgressDialog customProgressDialog = new CustomProgressDialog(this);
customProgressDialog.show();
这样,您就可以在 Android 应用中使用带有动画效果的 ProgressDialog 了。