完美解决虚拟按键遮盖底部视图的问题

作者: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

标签:虚拟,按键,遮盖,底部,视图
0
投稿

猜你喜欢

  • IntelliJ IDEA优化配置的实现

    2023-01-01 03:29:55
  • C#调用动态库

    2021-07-30 03:46:25
  • Java面向对象之猜拳游戏

    2022-10-29 21:26:45
  • 详解Java数据库连接JDBC基础知识(操作数据库:增删改查)

    2023-08-22 23:47:37
  • Android开发之ListView的简单用法及定制ListView界面操作示例

    2021-10-17 13:26:15
  • Java代码实现简单酒店管理系统

    2023-11-21 03:38:57
  • Dwr3.0纯注解(纯Java Code配置)配置与应用浅析二之前端调用后端

    2023-08-19 17:32:33
  • 一篇文章轻松搞懂Java中的自旋锁

    2023-06-29 00:00:36
  • C# TabControl手动触发DrawItem的实现

    2023-12-27 17:01:27
  • C++报错:Id returned 1exit status的解决办法

    2023-08-27 19:47:12
  • 浅谈Android应用安全防护和逆向分析之apk反编译

    2022-07-08 01:15:21
  • Java BufferWriter写文件写不进去或缺失数据的解决

    2023-07-20 14:57:02
  • Java Iterator迭代器_动力节点Java学院整理

    2022-11-08 13:50:39
  • 详解SpringMVC如何进行数据回显

    2023-09-12 08:48:15
  • Mybatis-Plus 条件构造器 QueryWrapper 的基本用法

    2022-07-07 13:28:18
  • java中SynchronizedList和Vector的区别详解

    2023-08-23 10:13:12
  • SpringBoot 过滤器 Filter使用实例详解

    2021-11-08 13:46:00
  • c# 编写一个轻量级的异步写日志的实用工具类(LogAsyncWriter)

    2021-11-23 01:56:14
  • Java语言读取配置文件config.properties的方法讲解

    2023-09-29 14:45:51
  • C#使用iTextSharp操作PDF

    2023-07-29 02:03:11
  • asp之家 软件编程 m.aspxhome.com