捡来的笔记

用源码解释为什么在Android Studio中Button的文本是大写

转载请注明出处:
http://dyhdyh.com/archives/169.html

概述

大家应该有发现,每次写一个Button的时候,英文文本总是会变成大写
这里写图片描述

解决办法

只要设置属性textAllCaps为false,就可以解决了

android:textAllCaps="false"

 

好奇宝宝

点进Button的源码,可以发现textAllCaps默认就是false,那么问题来了,为什么既然是false,仍然还需要另外设置?
这里写图片描述

深入探索

1.AppCompat主题会把Button自动转为AppCompatButton,先从这里找线索;

2.直接进入AppCompat的styles.xml,先直接搜索textAllCaps看有没有结果,结果出来一个Button的样式,而这里textAllCaps的值就是true;
这里写图片描述

3.看到这个是不是拍着大腿,感觉好像明白了什么

结论

AppCompat下Button的textAllCaps默认值就是true

Instant Knockout

点赞

发表评论