关闭

如何获取底部虚拟按键栏的高度

431人阅读 评论(0) 收藏 举报
分类:

如何获取底部虚拟按键栏的高度

API 17之后使用,获取的像素宽高包含虚拟键所占空间,在API 17之前通过反射获取
context.getWindowManager().getDefaultDisplay().getRealMetrics(metric); 获取的像素宽高不包含虚拟键所占空间

 DisplayMetrics metric = new DisplayMetrics();
//context.getWindowManager().getDefaultDisplay().getMetrics(metric);  
int width = metric.widthPixels;  // 宽度(像素)  
int height = metric.heightPixels;  // 高度(像素)  
float density = metric.density;  // dp缩放因子  
int densityDpi = metric.densityDpi;  // 广义密度  
float xdpi = metric.xdpi;//x轴方向的真实密度  
float ydpi = metric.ydpi;//y轴方向的真实密度 
//具体的方法:
 private int getSoftButtonsBarHeight() {
            DisplayMetrics metrics = new DisplayMetrics();
            //这个方法获取可能不是真实屏幕的高度
            mActivity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
            int usableHeight = metrics.heightPixels;
            //获取当前屏幕的真实高度
            mActivity.getWindowManager().getDefaultDisplay().getRealMetrics(metrics);
            int realHeight = metrics.heightPixels;
            if (realHeight > usableHeight) {
                return realHeight - usableHeight;
            } else {
                return 0;
            }
        }
1
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

全屏实现-去除android盒子底部的虚拟导航按键

使用android盒子进行开发,因为盒子没有操作按键,通常实现是在屏幕底部出现虚拟按键(HOME、BACK等),使用过两个盒子,一个盒子(盒子1)配置是虚拟按键一直存在页面上,及时打开植物大战僵尸的游...
  • sdvch
  • sdvch
  • 2015-03-11 23:37
  • 13508

Android适配底部虚拟按键的方法

最近项目进行适配的时候发现部分(如华为手机)存在底部虚拟按键的手机会因为虚拟按键的存在导致挡住部分界面,因为需要全屏显示,故调用虚拟按键隐藏方法使之隐藏,然而发现出现如下问题: 手动操作隐藏虚拟按键后...
  • yuanzhihui123
  • yuanzhihui123
  • 2017-04-11 17:37
  • 4204

Android屏幕适配(底部虚拟按键)

先上图: 可以发现,虚拟键位,挡住了取消按钮的触控区域,网上百度一下,大多是在布局内家加上(Android:fitsSystemWindows=”true”) ,BUT我的控件不是布局,...
  • u014702999
  • u014702999
  • 2016-08-22 14:56
  • 6160

a20隐藏底部按钮及隐藏状态栏和虚拟按键栏

隐藏RecentButton按钮: 在源码android4.2/frameworks/base/packages/SystemUI/src/com/android/systemui/statusba...
  • sdvch
  • sdvch
  • 2015-03-10 17:53
  • 1315

Android 隐藏手机底部虚拟按键

现在的手机比较流行底部带虚拟按键,比如华为、nexus,一般情况下对开发一个APP没啥影响,但是不一般情况下就会有影响的,比如全屏录像功能, 用简单的方法直接获取camera支持的手机屏幕分辨率然后...
  • msn465780
  • msn465780
  • 2017-03-08 11:00
  • 3901

Android 如何做到隐藏手机底部虚拟按键?

现在的Android手机有好多底部带虚拟按键,比如华为、nexus、魅族等等,一般情况下对APP没啥影响,但是有时候就必须要强制隐藏。 例如:游戏的时候,拍照的时候。。。 接下来加上几个方法就OK...
  • woaiheima
  • woaiheima
  • 2017-03-14 10:35
  • 4551

【Android】隐藏底部虚拟按键

Google的官方文档是: https://developer.android.com/training/system-ui/navigation.html#behind 示例代码 ...
  • qq_25136051
  • qq_25136051
  • 2017-06-08 14:53
  • 68

zxing 顶部状态栏与底部虚拟按键对取景范围的影响

1.没有状态栏,只有虚拟按键时: zxing会计算出屏幕分辨率ScreenResolution,屏幕分辨率是去掉虚拟按键栏以后的分辨率。假设这里的屏幕分辨率是1812*1080(屏幕实际分辨率是192...
  • mr_orange_klj
  • mr_orange_klj
  • 2016-12-25 14:03
  • 369

安卓类似华为手机适配底部虚拟按键的解决方案

场景1:华为手机遮挡了屏幕底部。 场景2:进入应用时,虚拟键自动缩回,留下空白区域。 需求: 需要安卓能自适应底部虚拟按键,用户隐藏虚拟按键时应用要占满整个屏幕,当用户启用虚拟键...
  • qq_33523706
  • qq_33523706
  • 2017-04-12 10:34
  • 1710

华为手机适配底部虚拟按键的解决方案

转载:安卓类似华为手机适配底部虚拟按键的解决方案 场景:华为手机遮挡了屏幕底部。完美解决方案: 解释一下下面的代码,就是监听某个视图的变化,当可以看见的高度发生变化时,就对这个视图重新布局,保证视...
  • louyxlovess
  • louyxlovess
  • 2017-06-02 17:57
  • 2470
    个人资料
    • 访问:2755次
    • 积分:143
    • 等级:
    • 排名:千里之外
    • 原创:11篇
    • 转载:4篇
    • 译文:0篇
    • 评论:0条