更改默认对话框按钮文本颜色而不更改colorAccent属性

时间:2017-10-15 21:26:25

标签: android xml android-alertdialog

在android中,默认对话框按钮(负面,中性和正面)文本颜色与colorAccent(在colors.xml中)属性相同,但我想设置一些不同的颜色而不更改colorAccent属性。我到处寻找,但我找不到任何办法。

1 个答案:

答案 0 :(得分:3)

在主AppTheme中指定alertDialogTheme,然后在该主题中定义不同的colorAccent,这是AlertDialogs特有的:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="alertDialogTheme">@style/AlertDialog</item>
</style>

<style name="AlertDialog" parent="@style/ThemeOverlay.AppCompat.Dialog.Alert">
    <item name="colorAccent">@color/yourColor</item>
</style>