前言
在开发Android时,经常会遇到千奇百怪的小问题,所以一个个记录下来,方便日后翻看,也希望能够帮到其他开发者。
目录
- 国际化时 Button 字符自动大写
- View 在横屏模式下(虚拟按键)位置偏移
国际化时 Button 字符自动大写
复现
在英语环境下,按钮上的字符全都自动大写了,必须注意到的是,作者并未在样式中规定全部大写,这是因为:在 Andorid 6.0 以上的机型中,主题默认 Button 英文字符全部大写。
android:textAllCaps="ture"
解决方案
在样式中修改
android:textAllCaps="false"
View 在横屏模式下(虚拟按键)位置偏移
复现
View 位置偏移的问题,我在上篇博客中也有提及。我发现在华为手机等具有虚拟按键的机型上都会出现此问题,而且便宜的距离查了很多资料也没有找到触发的原因。如果有朋友知道的话,咱们可以交流一下。
解决方案
在代码中动态设置位置就可以完美解决这个问题
// 解决虚拟按键横屏,View 向右偏移
private void setUpShow(View view) {
// 竖屏不做处理
if (VERTICAL_SCREEN == getResources().getConfiguration().orientation) {
return;
}
// 横屏状态
else if (HORIZONTALL_SCREEN == getResources().getConfiguration().orientation) {
// 检测是否有虚拟按键
if (checkDeviceHasNavigationBar(this)) {
view.setTranslationX(- 2*(int)getResources().getDimension(RUtils.dimen(this, "tutu_account_frame_padding")));
}
}
}