如何在Android中更改ProgressDialog样式?我需要更改背景颜色和文字颜色。
我的应用程序中有一个样式,我必须覆盖什么项才能更改进度对话框样式?
我想仅使用xml更改样式,无需编码。这是可能的吗?
PS:
我没有进度条!我有进度对话框。我想使用样式和主题来改变它的样式,比如我改变了listview,windows背景等的样式。
答案 0 :(得分:9)
您可以像这样更改ProgressDialog的主题:
ProgressDialog dialog = new ProgressDialog(this, AlertDialog.THEME_HOLO_DARK);
dialog.setTitle("Title");
dialog.setMessage("Message");
dialog.show();
答案 1 :(得分:3)
自定义对话框的代码: 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>