android判断多个按钮,Android开发之判断有无虚拟按键(导航栏)的实例
判断有无虚拟按键(导航栏)
现在很大一部分手机没有虚拟按键,一部分有。我们在做适配的时候可能会用到这方面的知识。
例如:屏幕填充整个屏幕的时候,没办法只能连导航栏一起填充了,但是这个不是我们想要的,我们要给布局试着paddingbottom,这个时候我们就要判断有么有导航栏,导航栏高度是多少了。
/**
* 获取是否存在NavigationBar
* @param context
* @return
*/
public boolean checkDeviceHasNavigationBar(Context context) {
boolean hasNavigationBar = false;
Resources rs = context.getResources();
int id = rs.getIdentifier("config_showNavigationBar", "bool", "android");
if (id > 0) {
hasNavigationBar = rs.getBoolean(id);
}
try {
Class systemPropertiesClass = Class.forName("android.os.SystemProperties");
Method m = systemPropertiesClass.getMethod("get", String.class);
String navBarOverride = (String) m.invoke(systemPropertiesClass, "qemu.hw.mainkeys");
if ("1".equals(navBarOverride)) {
hasNavigationBar = false;
} else if ("0".equals(navBarOverride)) {
hasNavigationBar = true;
}
} catch (Exception e) {
}
return hasNavigationBar;
}
/**
* 获取虚拟功能键高度
* @param context
* @return
*/
public int getVirtualBarHeigh(Context context) {
int vh = 0;
WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = windowManager.getDefaultDisplay();
DisplayMetrics dm = new DisplayMetrics();
try {
@SuppressWarnings("rawtypes")
Class c = Class.forName("android.view.Display");
@SuppressWarnings("unchecked")
Method method = c.getMethod("getRealMetrics", DisplayMetrics.class);
method.invoke(display, dm);
vh = dm.heightPixels - windowManager.getDefaultDisplay().getHeight();
} catch (Exception e) {
e.printStackTrace();
}
return vh;
}
以上这篇Android开发之判断有无虚拟按键(导航栏)的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
android判断多个按钮,Android开发之判断有无虚拟按键(导航栏)的实例相关推荐
- Android 4.2虚拟按键背景透明,Android 4.0 隐藏虚拟按键(导航栏)的方法
在Android4.0里,多了一些API,其中包括怎样隐藏虚拟按键(导航栏),这样编写游戏或一个视频播放器时,可以设置隐藏虚拟按键的参数,达到最佳效果,当然前提是使用的手机是有虚拟按键的,例如gala ...
- android4.0 去掉虚拟按键 教程,Android 4.0 隐藏虚拟按键(导航栏)的方法
在Android4.0里,多了一些API,其中包括怎样隐藏虚拟按键(导航栏),这样编写游戏或一个视频播放器时,可以设置隐藏虚拟按键的参数,达到最佳效果,当然前提是使用的手机是有虚拟按键的,如下图所示下 ...
- 一加android8稳定版,一加5T获Android 8.1稳定版升级 全屏手势代替虚拟按键
原标题:一加5T获Android 8.1稳定版升级 全屏手势代替虚拟按键 虽然一加手机的新旗舰一加6即将发布,但是官方也没有忘记老用户.5月9日夜间,一加5T迎来了稳定版固件更新,除了核心升级为And ...
- 微信小程序从零开始开发步骤(三)底部导航栏
上一章节,我们分享了如何创建一个新的页面和设置页面的标题,这一章我们来聊聊底部导航栏是如何实现的.即点击底部的导航,会实现不同对应页面之间的切换. 我们先来看个我们要实现的底部导航栏的效果图:(三个导 ...
- uni-app开发:tabar组件与顶部导航栏(功能开发篇)
uni-app开发:tabar组件与顶部导航栏(含右侧icon点击功能)[结合:案例Demo截图] 一.效果图 · 截图: 二. tabar组件 + 顶部导航栏(含右侧icon点击功能) 组件的代码调 ...
- android studio怎么添加按钮,Android Studio 工具栏添加常用按钮
本文中 Android Studio 的版本为 android Studio 2.2 ,操作系统为 Windows,如有操作不同,可能是版本差异. 在工具栏中添加一些常用的按钮,如设置.DDMS,有利 ...
- android 软键盘遮住按钮,Android应用中出现软键盘遮挡住按钮如何解决
Android应用中出现软键盘遮挡住按钮如何解决 发布时间:2020-11-20 16:25:47 来源:亿速云 阅读:110 作者:Leah Android应用中出现软键盘遮挡住按钮如何解决?相信很 ...
- android 中的悬浮按钮,Android 中FloatingActionButton(悬浮按钮)实例详解
android 中floatingactionbutton(悬浮按钮)实例详解 一.介绍 这个类是继承自imageview的,所以对于这个控件我们可以使用imageview的所有属性 二.使用准备, ...
- android用户界面设计:基本按钮,Android用戶界面設計:基本按鈕
本文向你展示了在你的android應用程序中創建一個簡單的Button或ImageButton控件的步驟.首先,你會學到如何向你的布局文件中添加按鈕控件.然後你會學習如何用兩種方法處理用戶對按鈕的點擊 ...
最新文章
- 微软压力测试工具 web application stress
- 抽象类可以有构造函数吗
- mysql从一张表更新另外一张表_MySQL 从一张表update字段到另外一张表中
- sql server:删除表数据,标识列Id从1开始
- MySql默认编码所造成的乱码麻烦1.222
- 第三十五期:AI核心难点之一:情感分析的常见类型与挑战
- PL/SQL-FOR UPDATE 与 FOR UPDATE OF的区别
- oracle 统计文本字符串,oracle人员权限,字符串转列,统计管理详解-Oracle
- java封装与调用方法_java方法和封装
- 支付宝生活号已激活但自动登录提示没权限,什么原因
- ip地址自动获取背后的机制(udhcpc)
- ios android 录音格式,Audio模块录音格式汇总(aac、mp3)
- 用于AB测试的减少方差方法总结和对比
- 007数据分析能力:业务题
- C++语言程序设计(第4版)郑莉练习
- 自动驾驶分级 - 练习测验
- 用74ls90组成二十四进制计数器_减法计数器的组成以及原理
- 清除flashback日志
- Android自定义控件(一) 可滑动的进度条
- 图片 bmp 格式详解