0
现在进度对话框中的默认辅助进度文本看起来像这样:x/y其中y可以通过setMax进行更改。然而,如果我想添加除y之外的文本。因此,例如在进度对话框中,它将是:X/Y票据在Android中更改进度对话框中的辅助进度文本
我需要使用自定义进度对话框吗?如果是的话,我怎样才能使它看起来像默认的进度对话框,尽管在辅助进度部分旁边增加了额外的文本。
现在进度对话框中的默认辅助进度文本看起来像这样:x/y其中y可以通过setMax进行更改。然而,如果我想添加除y之外的文本。因此,例如在进度对话框中,它将是:X/Y票据在Android中更改进度对话框中的辅助进度文本
我需要使用自定义进度对话框吗?如果是的话,我怎样才能使它看起来像默认的进度对话框,尽管在辅助进度部分旁边增加了额外的文本。
我做了一些测试,我觉得最好的方法是做一个自定义Dialog
。
public class MyProgressDialog extends Dialog {
public static MyProgressDialog show(Context context, CharSequence title,
CharSequence message) {
return show(context, title, message, false);
}
public static MyProgressDialog show(Context context, CharSequence title,
CharSequence message, boolean indeterminate) {
return show(context, title, message, indeterminate, false, null);
}
public static MyProgressDialog show(Context context, CharSequence title,
CharSequence message, boolean indeterminate, boolean cancelable) {
return show(context, title, message, indeterminate, cancelable, null);
}
public static MyProgressDialog show(Context context, CharSequence title,
CharSequence message, boolean indeterminate,
boolean cancelable, OnCancelListener cancelListener) {
MyProgressDialog dialog = new MyProgressDialog(context);
dialog.setTitle(title);
dialog.setCancelable(cancelable);
dialog.setOnCancelListener(cancelListener);
/* The next line will add the ProgressBar to the dialog. */
dialog.addContentView(new ProgressBar(context), new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
dialog.show();
return dialog;
}
public MyProgressDialog(Context context) {
super(context, R.style.NewDialog);
}
}
所有静态方法来源于此link,没什么奇怪的,但在构造函数中出现的神奇。检查我作为参数传递给样式。这种风格是:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="NewDialog" parent="@android:Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowTitleStyle">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
<item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
<item name="android:backgroundDimEnabled">false</item>
<item name="android:background">@android:color/transparent</item>
</style>
</resources>
这样做的结果是ProgressBar
在屏幕的中心旋转。没有背景昏暗和没有DialogBox
。
查看我的回答 – Tufan