我的应用扩展了Theme.AppCompat.Light
,并且材质风格的对话框显示为白色背景,黑色文字颜色和绿色按钮(ProgessDialog
中的微调器也是绿色)。
我想更改文本的颜色和字体,以及按钮和微调器的颜色。
我该怎么做?
我发现了this帖子,但XML解决方案对我不起作用,其他答案是没有ProgressDialog
的第三方库。
谢谢!
答案 0 :(得分:1)
拥有全部"物质体验"你应该到处使用最新的AppCompat。而不是android.app.AlertDialog
使用android.support.v7.app.AlertDialog
来定位设备< 21。
只需按照以下方式正确设置AppTheme即可:
<style name="AppTheme" parent="Base.AppTheme">
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primary_dark</item>
<item name="colorAccent">@color/accent</item>
<!-- This is the interesting part -->
<item name="android:dialogTheme">@style/AppTheme.Dialog</item>
<item name="dialogTheme">@style/AppTheme.Dialog</item>
<item name="android:alertDialogTheme">@style/AppTheme.Dialog</item>
<item name="alertDialogTheme">@style/AppTheme.Dialog</item>
</style>
<!-- Style the dialog like the normal AppTheme -->
<style name="AppTheme.Dialog" parent="Theme.AppCompat.Light.Dialog">
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primary_dark</item>
<item name="colorAccent">@color/accent</item>
</style>