如何在 Android 中更改 ProgressDialog 样式?我需要更改背景颜色和文本颜色。
我的应用中有我的一种样式,我必须覆盖哪些项目才能更改进度对话框样式?
我想只使用 xml 来更改样式,而无需编码。有可能吗?
PS:
我没有进度条!我有进度对话框。而且我想使用样式和主题更改它的样式,例如更改列表视图、Windows 背景等的样式。
如何在 Android 中更改 ProgressDialog 样式?我需要更改背景颜色和文本颜色。
我的应用中有我的一种样式,我必须覆盖哪些项目才能更改进度对话框样式?
我想只使用 xml 来更改样式,而无需编码。有可能吗?
PS:
我没有进度条!我有进度对话框。而且我想使用样式和主题更改它的样式,例如更改列表视图、Windows 背景等的样式。
您可以像这样更改 ProgressDialog 的主题:
ProgressDialog dialog = new ProgressDialog(this, AlertDialog.THEME_HOLO_DARK);
dialog.setTitle("Title");
dialog.setMessage("Message");
dialog.show();
自定义对话框的代码:drawable下的文件声明了不同状态的颜色:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<gradient
android:startColor="#000001"
android:centerColor="#0b131e"
android:centerY="0.75"
android:endColor="#0d1522"
android:angle="270"
/>
</shape>
</item>
<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<gradient
android:startColor="#234"
android:centerColor="#234"
android:centerY="0.75"
android:endColor="#a24"
android:angle="270"
/>
</shape>
</clip>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<gradient
android:startColor="#144281"
android:centerColor="#0b1f3c"
android:centerY="0.75"
android:endColor="#06101d"
android:angle="270"
/>
</shape>
</clip>
</item>
</layer-list>
布局 xml 中的代码:
<ProgressBar android:id="@+id/progressBar"
android:progressDrawable="@drawable/progress_bar_states"
android:layout_width="fill_parent" android:layout_height="8dip"
style="?android:attr/progressBarStyleHorizontal"
android:indeterminateOnly="false"
android:max="100">
</ProgressBar>