完美解决虚拟按键遮盖底部视图的问题
作者:GSQ_Zzz 发布时间:2021-11-24 23:48:25
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的主题颜色,那可以直接设置这个属性,改一下颜色就行了,暂时没有图片展示,下次补上。就此解决。
来源:http://blog.csdn.net/chen_xi_hao/article/details/70059589


猜你喜欢
- 先扯再说最近一直在研究某个国产开源的MySQL数据库中间件,拉下其最新版的代码到eclipse后,启动起来,然后做各种测试和代码追踪;用完想
- 本文实例讲述了C#通过链表实现队列的方法。分享给大家供大家参考。具体实现方法如下:public class Node{ public int
- 一副扑克有54张牌:大小王+4*13,接下来我们来模拟一下斗地主的发牌过程首先,我们需要买牌,新买来的牌都是按顺序摆放的,因此下一步是洗牌,
- (效果如上图所示)其实很简单:比方说上面的容器是一个ListView<ListView android:id="@+id/l
- 前言日常编码过程中,最重要的技能不是说你学会使用很多最新的编程技术或者做出一个高大上的系统。而是你在写代码过程中,对异常的处理,是否系统可以
- 话不多说,请看代码/// <summary>/// 删除字符串中的中文/// </summary>public st
- 最近出现一个问题是这样的:我们的系统在国外打印的日志时间由于时差关系和国内不一致,看起来不方便,希望国外的日志和国内保持一致,即:需要对不同
- Java8 LocalDateTime与timestamp转换将timestamp转为LocalDateTimepublic LocalDa
- C#操作Excel的方法有很多种,常见的有微软官方的OLE Automation,Apache的POI等。这里介绍的是POI翻译成C#的NP
- 1.1 简介 1.1.1 概述 Feign 旨在使编写 Java Http 客户端变得更容易。在使用 Ribbon + Rest
- 很多小伙伴刚刚接触.net这一平台,可能不清楚如何安装最新版本VS 来搭建一个好用的编译器;本文将引导大家安装VS2019 C#语言的安装第
- 导出的 Jar 包无法运行?导出的 Jar 包找不到 Main class?大概是我对导出 Jar 包的理解不深吧,反正一直不太懂 IDEA
- Java 的线程支持提供了一些便捷的工具方法,通过这些便捷的工具方法可以很好地控制线程的执行。join 线程Thread 提供了让一个线程等
- 本文实例为大家分享了RecylerView实现流布局的具体代码,供大家参考,具体内容如下第一步:添加依赖compile 'com.a
- 在java中调用xls格式化xml 使用javax.xml.transform.Transformer,将xml用xls格式化为另一种xml
- 在android开发中,经常会遇到一个view需要它能够支持滑动的需求。下面通过本篇文章给大家介绍android view移动的六种方法。l
- 目录概览问题一原因解决办法问题二原因解决办法概览在当下几乎所有的公司都采用了前后端分离的开发模式,Swagger作为了在API在线文档工具,
- 茫茫人海千千万万,感谢这一秒你看到这里。希望我的能对你的有所帮助!共勉!愿你在未来的日子,保持热爱,奔赴山海!Java基础知识(多态)多态因
- 操作符就是为了解决对Observable对象的变换的问题,操作符用于在Observable和最终的Subscriber之间修改Observa
- using System;using System.Collections;using System.IO;namespace Consol