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> 

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

Solutions Collecting From Web of "buttonStyle不适用于22.1.1"

在主题中使用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