博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
获取Android状态栏的高度
阅读量:4922 次
发布时间:2019-06-11

本文共 1169 字,大约阅读时间需要 3 分钟。

Android 开发中经常需要知道屏幕高度、宽度、状态栏,标题栏的高度等

宽度和高度

WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);Display display = windowManager.getDefaultDisplay();Point point = new Point();display.getSize(point);SCREEN_WIDTH = point.x;SCREEN_HEIGHT = point.y;System.out.println("SCREEN_WIDTH = " + SCREEN_WIDTH);System.out.println("SCREEN_HEIGHT = " + SCREEN_HEIGHT);

状态栏高度

如果是做rom工作的同学可以使用如下方法:

int id = com.android.internal.R.dimen.status_bar_height;STATUS_BAR_HEIGHT = (int) getResources().getDimension(id);
上面方法仅试用做rom的,因为在编译的时候,id的值已经赋值,比如com.android.internal.R.dimen.status_bar_height = 123;那么实际上面的代码就是这样

int id = 123;STATUS_BAR_HEIGHT = (int) getResources().getDimension(id);
还有一种就是上面方法的改进,利用Java反射原理,获取高度。

int id = 0;try {	Class
cls = Class.forName("com.android.internal.R$dimen"); Field field = cls.getField("status_bar_height"); id = field.getInt(cls);} catch (ClassNotFoundException e) { e.printStackTrace();} catch (NoSuchFieldException e) { e.printStackTrace();} catch (IllegalArgumentException e) { e.printStackTrace();} catch (IllegalAccessException e) { e.printStackTrace);}

转载于:https://www.cnblogs.com/liushuibufu/p/3253609.html

你可能感兴趣的文章
poj3304 Segments
查看>>
Android onNewIntent调用时机
查看>>
命令模式
查看>>
MySQL 基础命令
查看>>
用css画个遨游logo
查看>>
杭电2061
查看>>
硬盘的工作原理
查看>>
开发日志
查看>>
使用 Intellij Idea 导出JavaDoc
查看>>
js -- 写个闭包
查看>>
属性动画
查看>>
Xcode cannot run using the selected device after upgrade
查看>>
iOS 开发常用的一些工具
查看>>
CAAnimation动画的一些知识点
查看>>
雨后图标
查看>>
php 去除二维数组中的包含某一个值的数组
查看>>
CopyOnWrite容器
查看>>
【nginx】配置详解
查看>>
Flex各个keycode值对照
查看>>
react 从0到1
查看>>