前段时间做一个中英文切换的功能,遇到一个问题——在button上的文本,在英文状态下变成了全部大写。
因为各种原因没有立马查找原因,所以,临时将button全部替换成了TextView,解决了该问题;
但是不知道是什么原因导致的Button上的文本都变成了大写,今天百度了下,知道了原因,在这里记录下:
Android 5.1的SDK把Button的默认Style改了,样式默认把textAllCaps设置为true了,也没有去仔细研究。查看系统选代码:frameworks/base/core/res/res/values/styles_material.xml的第233行,代码如下:
<style name="TextAppearance.Material.Button">
<item name="textSize">@dimen/text_size_button_material</item>
<item name="fontFamily">@string/font_family_button_material</item>
<item name="textAllCaps">true</item>
<item name="textColor">?attr/textColorPrimary</item>
</style>
那么要解决该问题,只需要在对应的Button上加上对应的属性就好了:
android:textAllCaps="false"
这样就能解决该问题了。
本文参考自:https://blog.youkuaiyun.com/u010746364/article/details/50378056