Uda*_*day 10 android progressdialog android-styles
看到那个双窗口?我不知道为什么会发生这种情况.
码
像这样初始化进度对话框:
progressDialog = new ProgressDialog(context);
progressDialog.setMessage(messsage);
progressDialog.setIndeterminate(true);
progressDialog.setCancelable(false);
Run Code Online (Sandbox Code Playgroud)在值和值中定义了这样的样式-21:
<style name="AlertDialog.Theme" parent="Theme.AppCompat.Light.Dialog">
<item name="android:textColorPrimary">@color/black</item>
<item name="android:background">@color/white</item>
<item name="android:textColor">@color/black</item>
<item name="colorAccent">@color/orange</item>
<item name="colorPrimary">@color/orange</item>
<item name="colorPrimaryDark">@color/darkerorance</item>
</style>Run Code Online (Sandbox Code Playgroud)
<item name="android:dialogTheme">@style/AlertDialog.Theme</item>
<item name="dialogTheme">@style/AlertDialog.Theme</item>
<item name="android:alertDialogTheme">@style/AlertDialog.Theme</item>
<item name="alertDialogTheme">@style/AlertDialog.Theme</item>Run Code Online (Sandbox Code Playgroud)
主题延伸自Theme.AppCompat.Light.NoActionBar.
这在Lollipop及以上版本上效果很好,但在棒棒糖前的图像中看起来很像.任何人都可以帮忙,告诉我我做错了什么?
我回复有点晚了,但这就是我解决问题的方法。
我创建了一个单独的样式v-14 styles.xml并定义了样式,如下所示
值-v14/styles.xml
<style name="AlertDialog.Holo" parent="@android:style/Theme.Holo.Light.Dialog">
<item name="android:textColorPrimary">@color/black</item>
<item name="android:textColor">@color/black</item>
<item name="android:textAppearance">@style/Helvetica.Regular</item>
<item name="android:windowTitleStyle">@style/DialogTitleStyle</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
</style>
Run Code Online (Sandbox Code Playgroud)
PS - textAppearance 和 windowTitleStyle 是我为自定义字体创建的样式。
使用的常规(values/styles.xml)警报对话框样式是:
<style name="AlertDialog.Theme" parent="Theme.AppCompat.Light.Dialog">
<item name="android:textColorPrimary">@color/black</item>
<item name="android:textColor">@color/black</item>
<item name="colorAccent">@color/zifycolor</item>
<item name="colorPrimary">@color/zifycolor</item>
<item name="colorPrimaryDark">@color/zifycolorDarker</item>
<item name="android:windowTitleStyle">@style/DialogTitleStyle</item>
<item name="buttonBarButtonStyle">@style/AlertDialogButtonStyle</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
Run Code Online (Sandbox Code Playgroud)
最后显示一个进度对话框:
/**
* Create a progress dialog. The appropriate theme gets applied.
*
* @param context valid context with a window
* @param messsage message to show
* @return {@code ProgressDialog} instance
*/
public static ProgressDialog createProgressDialog(@NonNull final Context context, @NonNull String messsage) {
ProgressDialog progressDialog;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
progressDialog = new ProgressDialog(context, R.style.AlertDialog_Theme);
else
progressDialog = new ProgressDialog(context, R.style.AlertDialog_Holo);
progressDialog.setMessage(messsage);
progressDialog.setCancelable(false);
return progressDialog;
}
Run Code Online (Sandbox Code Playgroud)
到目前为止效果很好!希望它对某人有帮助。
| 归档时间: |
|
| 查看次数: |
2740 次 |
| 最近记录: |