完美解决虚拟按键遮盖底部视图的问题
Android部分手机会有虚拟按键,而没有实体按键,例如华为系列的手机。
然而在开发过程中,有时候会涉及底部视图的开发,最终的结果却因为虚拟按键的关系,结果底部视图被虚拟按键给遮盖住了。
在这里,分为两种情况,一种是Activity继承普通的Activity,一种是Activity继承AppcompatActivity。
第一种情况的解决方案:(继承普通的Activity)
直接在配置文件Androidmanifest.xml里对相应的Activity设置样式,
Theme 如果设置成Theme.NoTitleBar或者Theme.Black.NoTitleBar的话,默认是黑色,但是可以解决华为虚拟按键的问题,如果设置成Theme.Light.NoTitleBar,默认是白色,也可以解决该问题。
第二种情况的解决方案:(继承AppcompatActivity的情况)
因为继承AppcompatActivity的Activity是需要设置v7包里面的样式,不能设置系统的,所以我们自定义一个样式,继承于v7包里面的样式。
直接在res资源文件目录下新建一个values-v19
然后在values文件夹下面的style.xml里面设置个样式,继承于Theme.Appcompat,例如叫Theme.Appcompat.abc,然后在values-v19文件夹下面的style.xml里面同样设置Theme.Appcompat.abc,只不过要多设置两个属性,一个是
<item name="android:windowTranslucentNavigation">true</item>
这个属性是设置底部虚拟按键透明的,可以解决遮盖视图的问题,但是它是透明的,虚拟按键本身是黑色的,你可能因为你的窗体背景是白色的,所以下面虚拟按键的背景就变成白色了,所以这时候要多设置一个属性
<!--Window的背景色--> <item name="android:windowBackground">@android:color/black</item>
这个是设置窗体背景颜色的,这里是设置为虚拟按键默认的黑色,如果你想把虚拟按键背景设置成你app的主题颜色,那可以直接设置这个属性,改一下颜色就行了,暂时没有图片展示,下次补上。就此解决。
以上这篇完美解决虚拟按键遮盖底部视图的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- 解决虚拟按键遮盖底部视图的问题
- Android 解决界面底部弹出dialog被虚拟按键遮挡一部分的问题
- Fragment 重叠 遮盖问题 完美解决
- android 解决底部navigation与手机虚拟按键重叠问题
- 解决隐藏tabbar后底部视图button不响应问题
- IOS完美适配键盘高度,解决被遮盖问题的思想
- Android解决ScrollView视图导致其底部的布局栏被推到上边的问题
- python中利用adb shell 控制手机,完美解决中文输入问题
- 解决Viewcontroller 作为modal视图弹出时无法半透明,和底层view变黑的问题
- C#多线程解决界面卡死问题的完美解决方案
- 完美解决dedecms中的[html][/html]和[code][/code]问题
- 在ubuntu下完美安装RTX(解决离线、乱码问题)
- [原创]解决网络IP切换问题,又一完美方案
- [置顶] iOS 滚动视图的复用问题解决方案
- 简单完美的解决键盘遮挡输入框的问题
- 完美解决:Apache启动问题―(OS 10022)提供了一个无效的参数
- ORACLE11G64位win7完美安装图解及问题解决
- 完美又简单解决Fedora16下使用Sun-JDK的汉字乱码(口口)问题
- 用视图+存储过程解决复杂查询的排序分页问题
- iOS7导航栏遮盖问题的解决