rk3399 android 9.0 frameworks中添加导航栏状态栏控制
功能:实现顶部状态栏和底部导航栏的显示隐藏控制
在以下文件中进行修改frameworks/basepackages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
import android.database.ContentObserver;
在makeStatusBarView()函数中添加
showStatusBar((Settings.Global.getInt(mContext.getContentResolver(),
"show_status_bar", 1) != 0));
showNavBar((Settings.Global.getInt(mContext.getContentResolver(),
"show_nav_bar", 1) != 0));
mContext.getContentResolver().registerContentObserver(Settings.Global.getUriFor("show_status_bar"), true,mShowStatusBarModeObserver);
mContext.getContentResolver().registerContentObserver(Settings.Global.getUriFor("show_nav_bar"), true,mShowNavBarModeObserver);
添加以下函数
private void showStatusBar(boolean isShow) {
Log.v(TAG, "showStatusBar = " + isShow);
if (mStatusBarWindow != null) {
mStatusBarWindow.setVisibility(isShow ? View.VISIBLE : View.GONE);
}
}
private void showNavBar(boolean isShow) {
if (mNavigationBarView != null) {
Log.i(TAG, "show nav bar =" + isShow);
mNavigationBarView.setVisibility(isShow ? View.VISIBLE : View.GONE);
}
}
private void addNavigationBarInnerLocked(){
if(mNavigationBarView == null){
createNavigationBar();
}
}
private void removeNavigationBar() {
if (mNavigationBarView == null) return;
mWindowManager.removeView(mNavigationBarView);
mNavigationBarView = null;
}
private ContentObserver mShowStatusBarModeObserver = new ContentObserver(new Handler()) {
@Override
public void onChange(boolean selfChange) {
showStatusBar((Settings.Global.getInt(mContext.getContentResolver(),
"show_status_bar", 1) != 0));
}
};
private ContentObserver mShowNavBarModeObserver = new ContentObserver(new Handler()) {
@Override
public void onChange(boolean selfChange) {
if(Settings.Global.getInt(mContext.getContentResolver(),"show_nav_bar", 1) != 0){
addNavigationBarInnerLocked();
}else{
removeNavigationBar();
}
}
};
rk3399 android 9.0 frameworks中添加导航栏状态栏控制相关推荐
- Android 9.0 APP中显示导航栏的menu键
PS:以前 Android 4.0 时代,写了个APP,用屏幕底部菜单键提供两个刷新及退出按钮,但是现在 android 动不动就更新下,现在我手机已经到 9.0 版了,原来的导航栏三个小点点菜单键 ...
- android4.0 去掉虚拟按键 教程,Android 4.0 隐藏虚拟按键(导航栏)的方法
在Android4.0里,多了一些API,其中包括怎样隐藏虚拟按键(导航栏),这样编写游戏或一个视频播放器时,可以设置隐藏虚拟按键的参数,达到最佳效果,当然前提是使用的手机是有虚拟按键的,如下图所示下 ...
- Android 4.2虚拟按键背景透明,Android 4.0 隐藏虚拟按键(导航栏)的方法
在Android4.0里,多了一些API,其中包括怎样隐藏虚拟按键(导航栏),这样编写游戏或一个视频播放器时,可以设置隐藏虚拟按键的参数,达到最佳效果,当然前提是使用的手机是有虚拟按键的,例如gala ...
- 如何在Android 4.0 ICS中禁用StatusBar | SystemBar | 状态栏 【完美版】
这个世界上总是有很多牛人,我们不得不对此表示无限钦佩. 在我上次博文发出后,我始终对此耿耿于怀,因为之前提供的解决禁用Statusbar问题在ICS中依然存在问题,即不能自动隐现,需要重启.因此在搜索 ...
- 去除Android 6.0 界面下的导航栏:NavigationBar
找到: frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\phone\PhoneStatusBar.java这个 ...
- Android 9.0 10.0 沉浸式状态栏导致导航栏状态栏灰色蒙层的解决方案
1.概述 在10.0的系统产品开发中,在app开发中,沉浸式状态栏也是常有的样式,但是设置沉浸式状态栏后,会导致状态栏和导航栏会有灰色蒙层的问题存在 解决方案: DecorView是整个Window界 ...
- android微信电话锁屏,解决 Android 7.0 系统中,微信无法在锁屏画面显示
文章版块:HTC One A9 在 Android 7.0 系统中htc手机微信怎么截屏htc手机微信怎么截屏,会出现微信无法在锁屏画面显示的状况.建议您进行下面修改就可以解决: 进入"HT ...
- 定制iOS 7中的导航栏和状态栏
近期,跟大多数开发者一样,我也正忙于对程序进行升级以适配iOS 7.最新的iOS 7外观上有大量的改动.从开发者的角度来看,导航栏和状态栏就发生了明显的变化.状态栏现在是半透明的了,这也就意味着导航栏 ...
- ios 添加导航栏视图_iOS进度栏(进度视图)
ios 添加导航栏视图 In this tutorial, we'll be discussing the UIProgressView component and create a progress ...
最新文章
- 计算机软件系统包括应用软件和什么,计算机软件系统包括什么
- helloworld:一个完整的WCF案例
- 1.16 模拟(排序)
- 一副眼镜一千多贵吗_成都配眼镜去哪里好一点?怎样配眼镜才不被坑
- iis swagger 部署_asp.net-core – 虚拟目录中的IIS站点Swagger UI端点
- 嵌入式Linux之旅——环境搭建篇之烧写整个系统
- java 判断是合法语言_使用Java 怎么实现一个判断IP地址是否合法的功能
- 信号与系统公式笔记(9)——Z变换
- 高仿微信表情控件 -- LQREmojiLibrary
- 关于pr(premier)2020不能使用beat edit的解决方法
- win10去除桌面快捷方式图标(亲测可用)
- java第六章十七题_Java语言面试题十七
- 论文简读-BootEA-《Bootstrapping Entity Alignment with Knowledge Graph Embedding》
- 互联网巨头们的地摊争夺战
- flink运行job任务时报错 Could not retrieve the execution result
- 详解手游平台搭建需要哪些条件?需要注意什么?
- Cadence IC618使用
- LC145 Binary Tree Postorder Traversal
- win10 WiFi 密码查询 命令
- 轻松玩转Windows平板
热门文章
- 斯蒂芬·钦(Stephen Chin)骑着自行车在欧洲巡游
- 二八原则将人分为了三六九等
- [易飞]累计组成用量=组成用量/(底数*标准用量)
- 使用python抓取5级行政区划
- PX4源码分析2:飞控系统控制流程简述
- 【Springboot】整合wxjava实现 微信小程序:模板消息
- [Bartender]C#调用BartenderSDK使用场景-客户标签案列
- 使用Matlab完成层次聚类算法(最小生成树算法)
- 教你一招解决百度网盘限速
- Flexe2.0 学习笔记二(利用PopUpManager实现一个组件登录窗体)