问题引入:众所周知在Android开发中,对于控件内容布局均使用gravity来实现。如:
android:gravity="center"
。
然而昨天在开发中突然发现这方法居然失效了,看代码没有错啊,又在其他测试手机上测试也没问题啊。看来是手机问题,但也得解决……
1.问题手机:nubia Z17 miniS1
2.上网查询发现其他人也有类似问题,给出解决方法:android:layoutDirection="rtl"
,解决了不能靠右问题,但居中呢?同时使用时个人感觉有点别扭,可以自己测试。
3.询问nubia官方客服,给出答案:底层设置,无法修改。
4.查看该手机上其他App是否有类似的问题,发现都是好的,那就说明肯定是我代码问题。
5.尝试问题排查:是否和theme、AppCompatActivity等有关,最后定位问题:android:supportsRtl="true"
导致。
6.在使用Android Studio构建项目时,在AndroidManifest.xml文件中,Application内自动添加了android:supportsRtl="true"
这句代码,将其改为false或去掉即可。至于为什么加这句代码会导致这问题,如果知道敬请告知……