问题描述:
使用自定义键盘在切换键盘大小写时发现所有英文字母始终大写,无法切换至小写。因为是项目升级后出现的问题,一直在修改的项目代码上寻找原因,无奈一直没有找到问题所在。最后在修改编译SDK版本后才正常运行。
原因分析:
因为是自定义键盘遇到的问题,一开始并没有想着网上能查到解决方案,所以只能自己一点一点回退项目版本升级所修改的代码,最后全部回退后才排查出来是因为编译SDK的版本导致的问题。。这个真的是头大了,网上也没查出来有类似的问题。直到我看了键盘的源码发现在切换大小的时候也只是简单的button上修改text的大小写,再在网上一查果然查出了类似的问题,这里引入了一个属性android:textAllCaps。这个属性我设置后确实能解决我的问题,但是为什么升级后就需要设置这个东西,别的项目中同样的SDK版本跟自定义键盘也没有这种问题。最后的最后,我终于找到了根源,原来是项目使用的theme中将android:textAllCaps修改成了true。最后更换了一个theme解决问题
这里mark一下后面再遇到可以直接找这条属性就OK了