Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何更改ListPreference按钮的颜色?_Android_Android Styles_Listpreference_Material Components Android - Fatal编程技术网

Android 如何更改ListPreference按钮的颜色?

Android 如何更改ListPreference按钮的颜色?,android,android-styles,listpreference,material-components-android,Android,Android Styles,Listpreference,Material Components Android,我使用贝娄样式将对话框背景颜色更改为深色,在首选项页面中使用ListPreference,应用此样式后,ListPreference的取消按钮在对话框背景中消失 <style name="AppThemeBase" parent="Theme.MaterialComponents.DayNight"> <item name="colorPrimary">#212D3B</item> <item name="colorPrimaryDark

我使用贝娄样式将对话框背景颜色更改为深色,在首选项页面中使用ListPreference,应用此样式后,ListPreference的取消按钮在对话框背景中消失

<style name="AppThemeBase" parent="Theme.MaterialComponents.DayNight">
    <item name="colorPrimary">#212D3B</item>
    <item name="colorPrimaryDark">#172331</item>
    <item name="colorAccent">#61A3D7</item>
    <item name="android:textColorPrimary">#FFFFFF</item>
    <item name="android:dialogTheme">@style/AppTheme.Dialog</item>
    <item name="android:alertDialogTheme">@style/AppTheme.Dialog</item>
</style>

<style name="AppTheme.Dialog" parent="Theme.MaterialComponents.DayNight.Dialog">
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:background">#212D3B</item>
    <item name="colorPrimary">#61A3D7</item>
    <item name="colorPrimaryDark">#8DB2D3</item>
    <item name="colorAccent">#61A3D7</item>
</style>
有没有办法改变这个按钮的颜色


最后我找到了解决办法。我不明白android:alertDialogTheme和没有android:alertDialogTheme的alertDialogTheme之间有什么不同,但首选项屏幕使用alertDialogTheme来设置对话框的样式。 通过向AppThemeBase添加以下项,我的问题得到了解决

<item name="alertDialogTheme">@style/AppTheme.Dialog</item> 
<style name="AppThemeBase" parent="Theme.MaterialComponents.DayNight">
    <item name="colorPrimary">#212D3B</item>
    <item name="colorPrimaryDark">#172331</item>
    <item name="colorAccent">#61A3D7</item>
    <item name="android:textColorPrimary">#FFFFFF</item>
    <item name="android:dialogTheme">@style/AppTheme.Dialog</item>
    <item name="android:alertDialogTheme">@style/AppTheme.Dialog</item>
    <item name="alertDialogTheme">@style/AppTheme.Dialog</item>
</style>

<style name="AppTheme.Dialog" parent="Theme.MaterialComponents.DayNight.Dialog">
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:background">#212D3B</item>
    <item name="colorPrimary">#61A3D7</item>
    <item name="colorPrimaryDark">#8DB2D3</item>
    <item name="colorAccent">#61A3D7</item>
</style>