安卓平板隐藏虚拟按键_Android实现隐藏手机底部虚拟按键
现在的手机比较流行底部带虚拟按键,比如华为、nexus,一般情况下对开发一个APP没啥影响,但是不一般情况下就会有影响的,比如全屏录像功能,
用简单的方法直接获取camera支持的手机屏幕分辨率然后用SurfaceView全屏渲染出来,这时由于底部虚拟按键占用了一定的高度的屏幕空间,这时图像会被压缩,
特别是拍头像时会很明显,如图:
接下来加上几个方法就OK 了,代码如下
/**
* 隐藏虚拟按键,并且全屏
*/
protected void hideBottomUIMenu(){
//隐藏虚拟按键,并且全屏
if (Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) { // lower api
View v = this.getWindow().getDecorView();
v.setSystemUiVisibility(View.GONE);
} else if (Build.VERSION.SDK_INT >= 19) {
//for new api versions.
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar
// | View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
| View.SYSTEM_UI_FLAG_IMMERSIVE;
decorView.setSystemUiVisibility(uiOptions);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
}
}
检查是否存在虚拟按键栏
/**
* 检查是否存在虚拟按键栏
* @param context
* @return
*/
public static boolean hasNavBar(Context context) {
Resources res = context.getResources();
int resourceId = res.getIdentifier("config_showNavigationBar", "bool", "android");
if (resourceId != 0) {
boolean hasNav = res.getBoolean(resourceId);
// check override flag
String sNavBarOverride = getNavBarOverride();
if ("1".equals(sNavBarOverride)) {
hasNav = false;
} else if ("0".equals(sNavBarOverride)) {
hasNav = true;
}
return hasNav;
} else { // fallback
return !ViewConfiguration.get(context).hasPermanentMenuKey();
}
}
/**
* 判断虚拟按键栏是否重写
* @return
*/
private static String getNavBarOverride() {
String sNavBarOverride = null;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
try {
Class c = Class.forName("android.os.SystemProperties");
Method m = c.getDeclaredMethod("get", String.class);
m.setAccessible(true);
sNavBarOverride = (String) m.invoke(null, "qemu.hw.mainkeys");
} catch (Throwable e) {
}
}
return sNavBarOverride;
}
hideBottomUIMenu()在onCreate()里面调用就可以了,之后的效果,底部虚拟按键也成为了SurfaceView的一部分,不仅仅只是透明了哦,如图:
当然以上代码不一定只能用于录像,相关功能需求都可以使用。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
安卓平板隐藏虚拟按键_Android实现隐藏手机底部虚拟按键相关推荐
- android 隐藏手机底部虚拟按键
今天,简单讲讲android如何隐藏手机下面的虚拟按键. 其实,自己在做界面适配时,老是发现了华为手机存在适配的问题,主要就是华为手机有一个底部的虚拟按键占用了界面的部分空间,所以在网上搜索了如何隐藏 ...
- Android实现隐藏手机底部虚拟按键
现在的手机比较流行底部带虚拟按键,比如华为.nexus,一般情况下对开发一个APP没啥影响,但是不一般情况下就会有影响的,比如全屏录像功能, 用简单的方法直接获取camera支持的手机屏幕分辨率然后用 ...
- android 虚拟按键自定义,如何适配Android底部虚拟按键
前言 本文章只做一个记录,一个备忘,也为了更好的帮助他人,文章参考地址:Android适配底部虚拟按键的方法 问题说明 项目进行中需要透明渐变的状态栏,全屏显示,当然透明渐变好弄,方法有很多,但是如果 ...
- android 华为底部虚拟键盘隐藏,Android隐藏手机底部虚拟按键的方法
现在的Android手机有好多底部带虚拟按键,比如华为.nexus.魅族等等,一般情况下对APP没啥影响,但是有时候就必须要强制隐藏. 例如:游戏的时候,拍照的时候. 接下来加上几个方法就OK 了,代 ...
- android dialog隐藏虚拟按键,关于此框架在BottomSheetDialogFragment使用时,华为手机底部虚拟按键弹出与隐藏时输入框位置不贴键盘...
我这边试过还是不行,而且我们ui是要dialog不全屏的,下面附上代码 public void onStart() { super.onStart(); Dialog dialog = getDial ...
- 解决输入法遮挡布局和华为手机底部虚拟按键遮挡底部界面的方法
先上最终的代码: public class AndroidWorkaround {public static void assistActivity(View content) {new Androi ...
- h5+、mui创建手机APP,华为等手机底部虚拟按键问题
网址:http://ask.dcloud.net.cn/question/56517 2019年7月15日03:07:38更新,此解决方式会导致文件上传功能炸掉,可以去我7.15的博客查看解决方式 转 ...
- android平板哪个好用吗,明明知道iPad更实用,却坚持买安卓平板,是一种什么心态?...
众所周知,苹果为平板电脑专门推出了iPad OS独立系统,并且APP Store入驻了大量优质的横屏生产力工具,平板生态之完善,几乎让安卓厂商望尘莫及.这就是为什么大家发布平板电脑的时候,基本上都不敢 ...
- 安卓平板隐藏虚拟按键_实现安卓设备虚拟按键隐藏和显示的方法和系统的制作方法...
实现安卓设备虚拟按键隐藏和显示的方法和系统的制作方法 [技术领域] [0001]本发明涉及移动终端显示技术领域,尤其涉及一种方便实现安卓设备虚拟按键隐藏和显示的方法和系统. [背景技术] [0002] ...
最新文章
- 马化腾曾遭多年“威胁”:饱受烟害十年的“大兵”,终于戒烟了
- 卷积转换为矩阵运算中填充数的计算-GEMM
- Java经典面试题(N人循环报M个数出列)实现
- SilverFoxServer出炉!!
- Linux与Windows文件查找命令
- 工业交换机的单模和多模能否互相替代?
- 在idea上配置hadoop开发环境,使用maven配置hadoop的依赖,自动管理相关jar包
- B 站神曲 damedane:精髓在于换脸,五分钟就能学会
- Python错误重试逼疯多少人?解决办法来了
- 二叉树的遍历_递归实现
- 全国哀悼日网站都成黑白色实现
- Android P cdd(Android 兼容性定义文档)
- 【SQLserver】使用openrowset方法导入EXCEL表格数据
- Openpose Windows10环境并且是3系显卡+ Unity 环境部署
- 微信蓝牙设备开发--添加设备以及获取微信为设备生成的二维码
- 测试用的美国信用卡账号
- 大数据技术之 Flume
- 【javaScript 的 proxy】
- 《痞子衡嵌入式半月刊》 第 50 期
- 用 ECharts 做出漂亮的数据统计图
热门文章
- putextra 传递对象_intent.putextra用法 使用Intent传递对象的两种方式 - 电脑常识 - 服务器之家...
- C#.Net中操作XML方法一
- 红星美凯龙CEO车建新的圆融和霸气
- 2016湘潭大学“长城信息杯”程序设计邀请赛总结
- 个性化是web2.0的核心前途
- AI算法实现武侠小说中的“绝世武功”——动作残影特效!
- 2021-2027全球及中国潮牌鞋行业研究及十四五规划分析报告
- Win系统 - 一键秒关所有程序,霸气侧漏!
- [Android问答] px、dp和sp,这些单位有什么区别?
- iOS 中的 CFBundleShortVersionString 与 CFBundleVersion