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 了。