【问题标题】:buttonStyle ignores colorButtonNormalbuttonStyle 忽略 colorButtonNormal
【发布时间】:2018-08-28 16:46:34
【问题描述】:

我正在尝试更改默认 Android 按钮的背景色调。 app:backgroundTint 属性有错误,所以我不使用它(Pre-Lollipop 设备丢失了它们的状态列表)

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>

【问题讨论】:

    标签: android android-layout android-button android-theme


    【解决方案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> 
    

    【讨论】:

    • 这是一个聪明而有效的解决方案,谢谢。我希望我仍然可以找到某种说明,为什么这个属性在样式中不起作用。你有什么想法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多