android底层去掉虚拟按键的实例讲解
找到framework/base/core/res/res/values/dimens.xml,在其中把Navigation的配置改成0
<!-- Height of the bottom navigation / system bar. --> <dimen name="navigation_bar_height">0dp</dimen> <!-- Height of the bottom navigation bar in portrait; often the same as @dimen/navigation_bar_height --> <dimen name="navigation_bar_height_landscape">0dp</dimen>
因为这个改动只修改了framework的资源文件,编译内核,获取framework-res.apk(./out/target/product/sabresd/system/framework/) , adb push到手机的/system/framework(在这个目录下能看到原有的framework-res.apk),然后reboot,启动发现没有虚拟导航按键了.
以上这篇android底层去掉虚拟按键的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Android适配底部虚拟按键的方法详解
最近项目进行适配的时候发现部分(如华为手机)存在底部虚拟按键的手机会因为虚拟按键的存在导致挡住部分界面,因为需要全屏显示,故调用虚拟按键隐藏方法使之隐藏,然而发现出现如下问题: 手动操作隐藏虚拟按键后出现长白条区域 不自动隐藏 滑出状态栏后虚拟按键也出来,状态栏隐藏后虚拟却不跟着隐藏 在没有虚拟按键的设备上影响了SurfaceView全屏显示图传(原本全屏显示的图传在切出去再进来时变成了小屏显示) 通过google了很多方法并尝试终于解决了这个问题,达到如下效果: 每次进入界面时虚拟按键自动隐藏
-
Android隐藏手机底部虚拟按键的方法
现在的Android手机有好多底部带虚拟按键,比如华为.nexus.魅族等等,一般情况下对APP没啥影响,但是有时候就必须要强制隐藏. 例如:游戏的时候,拍照的时候. 接下来加上几个方法就OK 了,代码如下: /** * 隐藏虚拟按键,并且设置成全屏 */ protected void hideBottomUIMenu(){ if (Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) { // lower api
-
Android隐藏和沉浸式虚拟按键NavigationBar的实现方法
有的时候我们在做全屏显示或者视频全屏播放时候,有些手机有底部的虚拟按键,如下图所示: 在开发中我们会遇到需要隐藏虚拟按键或者沉浸式虚拟按键的需求. 上图为沉浸式虚拟按键效果. 上图为隐藏虚拟按键效果. 那我们先说如何隐藏虚拟按键: public static void hideNavKey(Context context) { if (Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) { View v = ((A
-
解决Android 虚拟按键遮住了页面内容的问题
在启动页的时候华为手机虚拟按键遮挡住了启动页下面的字找了找解决办法,特地记录一下 第一种办法:扩展虚拟按键 //状态栏 @ 顶部getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);//A //导航栏 @ 底部getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);//B //这个加在哪个布局,该布局就会相应
-
Android开发之判断有无虚拟按键(导航栏)的实例
判断有无虚拟按键(导航栏) 现在很大一部分手机没有虚拟按键,一部分有.我们在做适配的时候可能会用到这方面的知识. 例如:屏幕填充整个屏幕的时候,没办法只能连导航栏一起填充了,但是这个不是我们想要的,我们要给布局试着paddingbottom,这个时候我们就要判断有么有导航栏,导航栏高度是多少了. /** * 获取是否存在NavigationBar * @param context * @return */ public boolean checkDeviceHasNavigationBar(Co
-
Android 虚拟按键与沉浸式的适配方法
根据公司产品的要求,app要实现全屏模式,也就是4.4以后的所谓的沉浸式. 在values-v19和values-v21的styles里添加以下代码,实现19以上的系统的沉浸式: <style name="AppBaseTheme" parent="android:Theme.Holo.Light.NoActionBar.TranslucentDecor"> <item name="android:windowTranslucentSta
-
Android 虚拟按键适配动态调整布局的方法
最近项目中遇到了华为虚拟按键适配的问题,主页是个RecylerView(如下图),如果不做适配,在界面初始化完毕后,虚拟按键会遮挡页面或者空出一些留白部分,针对这个问题上网找了些资料,总结了以下方法 首页下部分是RecylerView 首页下半部分是个RecylerView(针对适配) 监听虚拟键的切换 注册系统广播 getContentResolver().registerContentObserver(Settings.System.getUriFor("navigationbar_is_m
-
Android实现手机游戏隐藏虚拟按键
手机游戏实现Android隐藏虚拟按键,供大家参考,具体内容如下 在华为等型号的手机会有虚拟按键,在进入游戏的时候,需要全屏隐藏这个按键,并在下拉状态栏的时候,会重新呼出虚拟按键. 游戏的加载过程中,初始化检查更新,然后进入到游戏画面,实际上是android的2个view的切换. 其中MainActivity中,在onCreate()方法中添加如下函数并且复写一个方法就可以了. @Override protected void onCreate(Bundle icicle) { hideNavi
-
Android实现隐藏手机底部虚拟按键
现在的手机比较流行底部带虚拟按键,比如华为.nexus,一般情况下对开发一个APP没啥影响,但是不一般情况下就会有影响的,比如全屏录像功能, 用简单的方法直接获取camera支持的手机屏幕分辨率然后用SurfaceView全屏渲染出来,这时由于底部虚拟按键占用了一定的高度的屏幕空间,这时图像会被压缩, 特别是拍头像时会很明显,如图: 接下来加上几个方法就OK 了,代码如下 /** * 隐藏虚拟按键,并且全屏 */ protected void hideBottomUIMenu(){ //隐藏虚拟
-
Android dialog 去除虚拟按键的解决方法
Android 部分机型没有物理按键,只有虚拟按键,Activity全屏方法如下: 1.在 setContentView(R.layout.activity_main);之前添加 getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); 2.当用户划出虚拟按键后,自动再隐藏方法如下: getWindow().getDecorView().setOnSystemUiVisibilit
随机推荐
- Java 创建URL的常见问题及解决方案
- SpringBoot连接MYSQL数据库并使用JPA进行操作
- PHP删除数组中特定元素的两种方法
- PHP+iFrame实现页面无需刷新的异步文件上传
- 在Python中使用正则表达式的方法
- 跟老齐学Python之大话题小函数(1)
- PHP数字字符串左侧补0、字符串填充和自动补齐的几种方法
- div+css详解定位与定位应用
- 如何解决修改StaticText的字体
- 浅析JAVA常用JDBC连接数据库的方法总结
- WordPress中获取页面链接和标题的相关PHP函数用法解析
- SQL Server 2000安全配置详解
- 基于jquery步骤进度条源码分享
- 简化Windows 2003域控制器密码
- C语言 动态内存分配的详解及实例
- PHP内置过滤器FILTER使用实例
- 浅析Android 手机卫士设备管理权限锁屏
- Python实现的朴素贝叶斯分类器示例
- Spring IO Platform简单介绍
- bat 批处理 for 命令快速入门