需要获取状态栏高度的问题。
就像android后期版本,无法直接退出一样。找了一些方法来获取状态栏高度,结果都是为0.
还好,牛人是很多的,当时,找到一段代码,能够有效的获取状态栏的高度。特此记录,备忘,以及供大家参考。
Class<?> c = null;
Object obj = null;
Field field = null;
int x = 0, sbar = 0;
try {
c = Class.forName("com.android.internal.R$dimen");
obj = c.newInstance();
field = c.getField("status_bar_height");
x = Integer.parseInt(field.get(obj).toString());
sbar = getResources().getDimensionPixelSize(x);
} catch(Exception e1) {
loge("get status bar height fail");
e1.printStackTrace();
}
个人注:以下代码不能在onCreate里面使用,否则获取状态栏高度为0
Rect frame = new Rect();
getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
int statusBarHeight = frame.top;
分享到:
相关推荐
android 获得状态栏高度,完整代码
获取Android状态栏,屏幕,以及下方屏幕内按钮高度..内有详细代码
Android获得控件和状态栏高度,通过反射方式获取状态栏高度,通过dime获取组件高度。不同于普通获取状态栏高度,还得需要在子线程中获取
Android开发,设置状态栏颜色、半透明效果、状态栏全透明、DrawerLayout 布局设置状态栏变色、状态栏半透明矩形条、状态栏状态栏大小相同的彩色矩形条、状态栏设置根布局参数、获取状态栏高度、计算状态栏颜色等针对...
获取屏幕的像素数,密度,状态栏的高度等。其中获取屏幕实际的英寸数的方法不准确,还没有发现准确的方法。
Android 状态栏添加图标,点击按钮,在状态栏显示一个图标,点击图标时,图标消失掉。
在android应用中,有时需要计算个View的位置,导致需要计算状态栏高度。为以后方便,在此做个...下面这篇文章主要介绍了Android中获取状态栏高度的两种方法,两种方法分别给出了示例代码,有需要的朋友可以参考借鉴。
android获取状态栏高度解析.docx
android获取屏幕,状态栏,标题栏宽高,是我自己总结的文档。
android状态栏一体化,沉浸式状态栏,状态栏管理类,自动管理工具类
Unity显示Android手机状态栏 这是一个Unity开发安卓手机软件,显示状态栏要。可以设置为透明状态栏,或安卓系统黑底状态栏。
使用Unity 5.3.4在Android2.0 系统下显示状态栏与虚拟按键,支持沉浸式透明效果。对于高版本 unity 与高版本 android 我没有测试,请自行升级修改.
博客讲解示例的Demo,Android状态栏透明(沉浸式)Demo。
android状态栏颜色主题设置,直接使用设置主题状态栏主题,或者修改状态栏颜色
Android 沉浸式状态栏,包括普通沉浸式与图片沉浸式,亲测好用!
Android系统控制状态栏的下拉,禁止状态栏的下拉,通过反射获取系统的方法控制状态栏。
可以显示状态栏,利用的是反射机制。大家可以参考下~~~
Eclipse实现更改Android的状态栏颜色