我正在尝试更改默认Android Button的背景色。
app:backgroundTint
属性存在错误,因此我不使用它(棒棒糖之前的设备会丢失其状态列表)
colorButtonNormal
添加到应用程序主题中是可行的,但是如果我改为将其添加到子主题中并在应用程序主题上使用buttonStyle
属性,则由于某些原因,colorButtonNormal
会被忽略(所有其他子主题属性都将应用。)
这是一个错误吗?
这是我的styles.xml:
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="buttonStyle">@style/BlueButton</item>
</style>
<style name="BlueButton" parent="Widget.AppCompat.Button">
<item name="colorButtonNormal">@color/colorPrimary</item> <-- not applied
<item name="android:textColor">#fff</item>
</style>
答案 0 :(得分:1)
在您的styles.xml中尝试以下内容
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:textColor">#yourcolor</item>
<item name="android:buttonStyle">@style/ButtonColor</item>
<item name="colorButtonNormal">@color/buttonColor</item>
</style>
<style name="ButtonColor" parent="@android:style/Widget.Button">
<item name="android:textColor">@color/yourcolor</item>
</style>