时间:2021-05-19
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的主题颜色,那可以直接设置这个属性,改一下颜色就行了,暂时没有图片展示,下次补上。就此解决。
以上这篇完美解决虚拟按键遮盖底部视图的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
最近在公司的项目中,华为用户反馈出了一个问题,华为手机底部有虚拟按键栏把应用的底部内容遮挡住了,现在已经把这个问题解决了,记录一下,给各位遇到相同问题的童鞋做一
cad分屏关闭的方法如下: 1、首先点击CAD软件左上方功能栏中的“视图”按键; 2、点击“视图”按键后接着再点击“视口”按键; 3、点击“视口”按键后在
有些时候,我们需要知道当前手机上是否显示了NavigationBar,也就是屏幕底部的虚拟按键。比如截屏的时候,要获取屏幕的高度,必须包括NavigationB
魅族16s虚拟按键怎么设置?虚拟按键是综合以前非全面屏所研究出来的导航方式,熟悉了以前的按键的朋友应该对这个虚拟按键情有独钟吧,小编为大家带来魅族16s虚拟按键
华为mate20怎么隐藏虚拟按键?习惯用虚拟按键的朋友们可能有时候又会觉得这个虚拟按键很碍事,总是挡住,小编为大家带来虚拟导航设置可隐藏的方法。华为mate20