2015-05-29 50 views
0

现在进度对话框中的默认辅助进度文本看起来像这样:x/y其中y可以通过setMax进行更改。然而,如果我想添加除y之外的文本。因此,例如在进度对话框中,它将是:X/Y票据在Android中更改进度对话框中的辅助进度文本

我需要使用自定义进度对话框吗?如果是的话,我怎样才能使它看起来像默认的进度对话框,尽管在辅助进度部分旁边增加了额外的文本。

+0

查看我的回答 – Tufan

回答

0

我做了一些测试,我觉得最好的方法是做一个自定义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