无法为android 21下的样式覆盖textAllCaps

这是我如何设置我的button。

<Button android:id="@+id/button_login" style="@style/ButtonStyle" android:text="@string/button_login" /> 

这是我的值文件夹的样式。

 <style name="ButtonStyle" parent="ButtonStyleBase" /> <style name="ButtonStyleBase"> <item name="android:layout_width">match_parent</item> <item name="android:layout_height">wrap_content</item> <item name="android:layout_marginTop">@dimen/padding</item> <item name="android:textSize">@dimen/font_regular</item> <item name="android:textColor">@color/text_regular</item> <item name="android:background">@drawable/shape_clickable</item> </style> 

这是我的风格在values-v21文件夹

 <style name="ButtonStyle" parent="ButtonStyleBase"> <item name="textAllCaps">false</item> <item name="android:textColor">#000000</item> </style> 

但是文本总是按大写字母。 如果我直接在button上设置,它将恢复正常。 我改变了颜色,看是否正在使用api 21的样式,并且是button文本的颜色在api 21上变成了黑色。我知道默认的主题设置textAllCaps为button为true,因为谷歌认为这将是超级骗子冷,但不应该优先我的风格?

编辑:不知道,我忘了写“android:”的风格。

Solutions Collecting From Web of "无法为android 21下的样式覆盖textAllCaps"

我有同样的问题,这是对我有用:

 <style name="Theme.CustomTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar"> <item name="android:textAppearanceButton">@style/CustomTheme.ButtonTextAppearance</item> </style> <style name="CustomTheme.ButtonTextAppearance" parent="@style/Base.TextAppearance.AppCompat.Button"> <item name="textAllCaps">false</item> <item name="android:textAllCaps">false</item> </style> 

希望这可以帮助。

确保以下行不在“textAllCaps”之前说“android:”

<item name="textAllCaps" tools:targetApi="ice_cream_sandwich">false</item>

你的风格值-V21文件夹是正确的

 <style name="ButtonStyle" parent="ButtonStyleBase"> <item name="textAllCaps">false</item> <item name="android:textColor">#000000</item> </style> 

但同时Api的水平高于21你的风格粘贴在值-V19和风格文件夹XML

styles.xml中

在您的AppTheme中包含button样式(将在应用程序活动中使用

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

创buildbutton样式

 <style name="MyButton" parent="Widget.AppCompat.Button"> <item name="textAllCaps">false</item> <item name="android:textAllCaps">false</item> </style> 

如果您发现任何问题,请让我知道。