android 获取状态栏高度为0的解决办法
2015-12-18 15:50
537 查看
/** * 获取通知栏的高度 * @param activity * @return */ public static int getStatusBarHeight(Activity activity){ Rect rect = new Rect(); activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(rect); return rect.top; }
/** * 获取通知栏(状态栏)的高度 * * @return statusBarHeight */ private int getStatusBarHeight() { Class<?> clazz; Object object; Field field; int x; int statusBarHeight = 0; try { clazz = Class.forName("com.android.internal.R$dimen"); object = clazz.newInstance(); field = clazz.getField("status_bar_height"); x = Integer.parseInt(field.get(object).toString()); statusBarHeight = getResources().getDimensionPixelSize(x); } catch (Exception e) { e.printStackTrace(); } return statusBarHeight; }
相关文章推荐
- Android getDecorView用途——屏幕截图
- 获取状态栏高度
- Android PullToRefresh 分析之三、手势响应
- Android SQLite demo 之增、删、改、查
- 【android】SQLite数据库之SQLiteOpenHelper与SQLiteDatabase
- Android Fragments 使用详解附代码实例
- Android Material Design之Toolbar与Palette实践
- Android 播放mp3
- Android ViewPager + Fragment 替换 TabActivity
- android bitmap和base64之间的转换
- Aandroid在ViewPager中添加ListView
- Android onMeasure and onLayout
- Android使用Fragment来实现TabHost的功能(解决切换Fragment状态不保存)以及各个Fragment之间的通信
- android bitmap compress(图片压缩)
- Android ContentProvider和Uri详解 (绝对全面)
- Android笔记(4) ---ListView绑定SimpleAdapter适配器并下拉刷新数据
- android开发方向
- Android中Parcelable接口用法
- android手机连接android wear (手表模拟器)的连接
- Android 万能适配器