Android Button、TabLayout的英文字是大写的?

参考

我的Android进阶之旅------>android Button上面的英文字符串自动大写的问题解决
android在使用过程中,解决 Button 和 TabLayout 英文自动大写的问题

如图

1、未解决前的,button内英文文字是大写的,而textview正常
0.png

2、解决后,button内英文文字正常
1.png

解决

1、第一个联想到的就是button控件的大小写属性,可是在button里我没设置啊?奇怪。。。那就找找看哪里出了问题

1.1、layout中的button,用的style=btn_normal_style

1.2、btn_normal_style 没有关于大小写的。。继续btn_base_style

    
    

1.3、btn_base_style 也没有大小写的。。。只能前往系统api的style看了


1.4、这个是一层层追溯到系统的button style最后的。黄天不负有心人,终于找到:


2、问题解决方案

2.1、直接在button的style中添加textAllCaps=false


2.2、上面只针对继承了btn_base_style的button有效,如果想一劳永逸,那么直接修改theme的值

工程使用theme是自定义的AppTheme,且其他activity一般不单独使用theme,那么就会默认使用application的theme


        ...

然后在AppTheme中添加textAllCaps=false


    

其他

最后说一句,其实你button没有style,但是application有theme的话,那么按照theme一层层找下去,也能找到button用的style或者textview用的style,比方说:

好长,还能继续往下,反正就是这个意思。。。


TabLayout解决方案

app:tabTextAppearance="@android:style/TextAppearance.Widget.TabWidget"

最后

总结:小问题,也需要折腾下!

你可能感兴趣的:(Android Button、TabLayout的英文字是大写的?)