Android 沉浸式状态栏与华为虚拟按键的冲突处理
最近在写自己的小东西的时候,遇到了一个Bug,就是沉浸式转态栏与华为虚拟按键的冲突的问题。
先看一下出现问题的图
然后根据网上的一些办法 最多的就是告诉你,在布局文件加这个2个属性
android:fitsSystemWindows="true"android:clipToPadding="true"
这个是我的布局
<?xml version="1.0" encoding="utf-8"?>
<com.zhy.autolayout.AutoLinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:fitsSystemWindows="true"android:clipToPadding="true"android:layout_height="match_parent"android:orientation="vertical"><FrameLayoutandroid:id="@+id/layFrame"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1" /><com.ashokvarma.bottomnavigation.BottomNavigationBarandroid:id="@+id/bottom_navigation_bar"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_gravity="bottom" />
</com.zhy.autolayout.AutoLinearLayout>
然后大家看一下效果 =_=! 虚拟按键是是跑到最下面了,我那个沉浸式状态栏是怎么回事??还有那个虚拟按键居然是透明的,而且那么丑
然后网上又有人说,把XML里面的两个属性去掉,还有把那个沉浸式状态栏的属性也去掉
android:fitsSystemWindows="true"android:clipToPadding="true"
这句也要注释掉
// activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); 去掉这句 防止沉浸式状态栏与虚拟按键冲突
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {return this;} else {mToolbar.setPadding(0, SystemView.getStatusBarHeight(activity) >> 1, 0, 0);}if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);// activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); 去掉这句 防止沉浸式状态栏与虚拟按键冲突} else {activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);}
看看效果
完美处理!
至于我的沉浸式状态栏会变色,是根据Tablayout来设置的
Android 沉浸式状态栏与华为虚拟按键的冲突处理相关推荐
- Android 解决沉浸式状态栏和华为虚拟按键冲突
对于现在的 App 来说,布局页面基本都会用到沉浸式状态栏,单纯的沉浸式状态栏很容易解决,但是在华为手机上存在一个底部虚拟按键的问题,会导致页面底部和顶部出现很大的问题,比如页面底部导航栏被按键覆盖, ...
- android华为隐藏底部虚拟按键,沉浸式状态栏/华为虚拟按键隐藏
19版本以上Android可以自己实现沉浸式状态栏的设置 1.创建values-v21文件夹(为了匹配低版本) 在style文件中设置: 设置了这两个属性状态栏就能设置为透明的.但是需要注意的是,这个 ...
- android 沉浸式开源库,Android沉浸式状态栏
关于Android沉浸式状态栏, 网上已经有很多开源库, 虽然开源库可以解决某些特定布局下的沉浸式状态栏问题, 但是遇到比较特殊的布局就无法解决了, 所以了解一下沉浸式状态栏如何实现是有必要的. 无论 ...
- 使用主题Theme实现Android沉浸式状态栏
使用主题Theme实现Android沉浸式状态栏 很早的时候,通过主题设置activity沉浸式,发现坑很多,就开始使用各种StatusBarUtils,放弃了主题修改沉浸式这种方式,不知道大家有没有 ...
- 高大上的Android沉浸式状态栏?
背景 之前做过Android沉浸式状态栏的相关需求,但是一直忙于工作,没时间系统的整理下沉浸式相关的知识,所以今天抽出时间,写一篇 Android沉浸式状态栏的文章. 何为沉浸式 沉浸式就是要给用户提 ...
- Android 沉浸式状态栏 实现方式二 ( 更简单 )
以前写过一个沉浸式状态栏 的实现方式 Android 沉浸式状态栏 实现方式一 现在有个更为简单的实现方式 . 相关链接 http://www.apkbus.com/forum.php?mod=vie ...
- android 5.0状态栏下载地址,Android沉浸式状态栏(5.0以上系统)
Android沉浸式状态栏(5.0以上系统) 沉浸式状态栏可以分为两种: 1.直接给状态栏设置颜色 (如下图:) 这里写图片描述 java代码形式: if (Build.VERSION.SDK_INT ...
- Android 沉浸式状态栏完美解决方案
Android 沉浸式状态栏完美解决方案 参考文章: (1)Android 沉浸式状态栏完美解决方案 (2)https://www.cnblogs.com/dingxiansen/p/9929828. ...
- Android沉浸式状态栏工具类,一句代码轻松搞定
Android沉浸式状态栏工具类,一句代码轻松搞定 博客原文及源码地址:http://jaeger.itscoder.com/android/2016/03/27/statusbar-util.htm ...
最新文章
- 深度解析:特斯拉的工厂为什么建造得这么快?
- Zookeeper集群 + Kafka集群 + KafkaOffsetMonitor 监控
- Redis集群CentOS系统配置企业级数据备份方案以及数据恢复的操作(在开启AOF功能下恢复冷备RDB文件数据,保持AOF和RDB双开情况下恢复数据及错误的数据恢复步骤详解)
- 科大星云诗社动态20210303
- NLP jieba分词源码解析
- MySQL索引介绍,普通索引,全文索引,空间索引,多列索引使用原则,建立索引常用的规则
- 怎样让你的安卓手机瞬间变Firefox os 畅玩firefox os 应用
- 2020阿里云双12-企业飞天会员年终盛典全攻略
- java数组 规定数量_java – 如何在数组中保持不同事物的数量?
- python内置函数len_len是python内置函数吗
- disk磁盘管理与Linux驱动编写
- RubyOnRails开发知识链接汇总
- 破解还原卡的方法总结!! - Kevins的天空 - CSDNBlog
- 锐捷客户端的默认网关跟ipv4的网关不一样
- 微积分英文书籍第八版 CALCULUS eight edition
- mysql 查看 脏页_MySQL:刷脏页
- Redis统计用户访问量
- 重庆大学计算机学院郭松涛,C.-C.Jay Kuo教授访问重大计算机学院
- 什么是责任心?如何提高责任心?HR人才测评
- phpspreadsheet 中文文档(七)技巧和诀窍
热门文章
- PS相片添加边框和排版
- 讲真的,我后悔来到北大青鸟重庆大学城校区了......
- 2021年腾讯服务器维护,2019年到2021年40款停服游戏汇总,仅腾讯就有30余款
- (超好)xp系统遇到问题解决方法总结(提供了一个解决问题库)
- 父html向子html传递参数,子组件向父组件传值
- 抖音删除作品怎么恢复?四川子苗教育
- 内部类大展身手——— 静态内部类实现单例模式
- 斐波那契数列的递推与递归求法
- 宜信区块链|案例解读宜信如何运用区块链双链技术重构供应链金融服务
- VC中实现历史记录的全面清除