Why is my Button text forced to ALL CAPS on Lollipop?
Here's what I did in my values/themes.xml
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="buttonStyle">@style/MyButton</item>
</style>
<style name="MyButton" parent="Widget.AppCompat.Button">
<item name="android:textAllCaps">false</item>
</style>
This is fixable in the application code by setting the button's TransformationMethod, e.g.
mButton.setTransformationMethod(null);
I don't have idea why it is happening but there 3 trivial attempts to make:
Use
android:textAllCaps="false"
in yourlayout-v21
Programmatically change the transformation method of the button.
mButton.setTransformationMethod(null);
Check your style for Allcaps
Note: public void setAllCaps(boolean allCaps)
, android:textAllCaps
are available from API version 14.
Set android:textAllCaps="false". If you are using an appcompat style, make sure textAllCaps comes before the style. Otherwise the style will override it. For example:
android:textAllCaps="false"
style="@style/Base.TextAppearance.AppCompat"