buttonStyle不适用于22.1.1

我使用com.android.support:appcompat-v7:22.1.1

这个属性android:buttonStyle没有为每个button设置样式,我需要在每个button上手动设置android:theme="@style/AppTheme.Button"

  <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:buttonStyle">@style/AppTheme.Button</item> </style> 

我需要做些什么来设定一个总体的风格呢?

  • Android电子市场 - 此应用程序可用于超过0个设备?
  • 什么是API级别<11的getCheckedItemCount()的equivilent?
  • 在主题中使用buttonStyle来代替android:buttonStyle

    类似于@danielgomezrico的答案,但没有两个样式文件:

     <!-- Base application theme. --> <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> <!-- android:buttonStyle for v21+ and buttonStyle for the rest --> <item name="buttonStyle">@style/MyCustomButton</item> <item name="android:buttonStyle">@style/MyCustomButton</item> <item name="colorButtonNormal">@color/my_color_accent</item> </style> <style name="MyCustomButton" parent="Base.Widget.AppCompat.Button"> <item name="android:textColor">#ffffff</item> </style> 

    最后,我用buttonStyle设置了colorButtonNormal属性和其他样式属性的背景颜色。

    values/style.xml

     <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimary">@color/my_color_primary</item> <item name="colorPrimaryDark">@color/my_color_primary_dark</item> <item name="colorAccent">@color/my_color_accent</item> </style> <style name="AppTheme.Base"> <item name="colorButtonNormal">@color/my_color_accent</item> <item name="buttonStyle">@style/Button</item> </style> <style name="Button" parent="Base.Widget.AppCompat.Button"> <item name="android:textColor">@color/my_color_white</item> </style> 

    values-v21/style.xml

      <style name="AppTheme.Base"> <item name="android:colorButtonNormal">@color/my_color_accent</item> <item name="android:buttonStyle">@style/Button</item> </style> 

    然后所有的button都有我想要的背景/文字颜色,而不需要在每个button上设置style