This is how I set my buttons.
<Button
android:id="@+id/button_login"
style="@style/ButtonStyle"
android:text="@string/button_login" />
This is my style on values folder.
<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>
And this is my style on values-v21 folder
<style name="ButtonStyle" parent="ButtonStyleBase">
<item name="textAllCaps">false</item>
<item name="android:textColor">#000000</item>
</style>
But the text is always uppercase on buttons. If I set it directly on the button it will get back to normal, though. I changed the color to see if the style for api 21 was being used and it was, the button text color changed to black on api 21. I know the default theme sets textAllCaps as true for buttons because google thought it would be super-duper-cool, but shouldn't it prioritize my style?
Edit: neverming, I forgot to write "android:" on the style.
In styles.xml
Include the button style in your AppTheme(Which will be using in Application or Activity)
create button style
If you found any issue please let me know.
Your style on values-v21 folder its correct
but same time Api level above 21 your style paste on values-v19 and also style folder xml
I had the same issue and this is what worked for me:
Hope this helps.
Make sure that the following line does not say "android:" before "textAllCaps"
<item name="textAllCaps" tools:targetApi="ice_cream_sandwich">false</item>