文档章节

Android下获取状态栏的高度

程序员小贝
 程序员小贝
发布于 2014/09/27 15:13
字数 180
阅读 301
收藏 4
<!-- lang: java -->
/**
<!-- lang: java -->
 * 
<!-- lang: java -->
 * @param activity
<!-- lang: java -->
 * @return > 0 success; <= 0 fail
<!-- lang: java -->
 */
<!-- lang: java -->
 public static int getStatusHeight(Activity activity){
<!-- lang: java -->
 int statusHeight = 0;
<!-- lang: java -->
 Rect localRect = new Rect();
<!-- lang: java -->
 activity.getWindow().getDecorView(
<!-- lang: java -->
        ).getWindowVisibleDisplayFrame(localRect);
<!-- lang: java -->
 statusHeight = localRect.top;
<!-- lang: java -->
 if (0 == statusHeight){
<!-- lang: java -->
 Class<?> localClass;
<!-- lang: java -->
 try {
<!-- lang: java -->
 localClass = Class.forName(
<!-- lang: java -->
            "com.android.internal.R$dimen");
<!-- lang: java -->
 Object localObject = localClass.newInstance();
<!-- lang: java -->
 int i5 = Integer.parseInt(
<!-- lang: java -->
              localClass.getField("status_bar_height").get(
<!-- lang: java -->
                localObject).toString());
<!-- lang: java -->
 statusHeight = activity.getResources(
<!-- lang: java -->
            ).getDimensionPixelSize(i5);
<!-- lang: java -->
 } catch (ClassNotFoundException e) {
<!-- lang: java -->
 e.printStackTrace();
<!-- lang: java -->
 } catch (IllegalAccessException e) {
<!-- lang: java -->
 e.printStackTrace();
<!-- lang: java -->
 } catch (InstantiationException e) {
<!-- lang: java -->
 e.printStackTrace();
<!-- lang: java -->
 } catch (NumberFormatException e) {
<!-- lang: java -->
 e.printStackTrace();
<!-- lang: java -->
 } catch (IllegalArgumentException e) {
<!-- lang: java -->
 e.printStackTrace();
<!-- lang: java -->
 } catch (SecurityException e) {
<!-- lang: java -->
 e.printStackTrace();
<!-- lang: java -->
 } catch (NoSuchFieldException e) {
<!-- lang: java -->
 e.printStackTrace();
<!-- lang: java -->
 }
<!-- lang: java -->
 }
<!-- lang: java -->
 return statusHeight;
<!-- lang: java -->
 }

原文地址 http://bbs.it-home.org/thread-16887-1-1.html

本文转载自:http://bbs.it-home.org/thread-16887-1-1.html

共有 人打赏支持
程序员小贝
粉丝 2
博文 4
码字总数 198
作品 0
衡水
程序员
私信 提问
android应用程序中获取view的位置

获取View类界面控件的位置,有助于添加新的控件。 获取在parent里的相对坐标位置 这个比较简单,不用多说,直接调用View的方法:getLeft , getTop, getBottom, getRight 获得。 获取在屏幕中...

HCMore
2013/10/29
0
0
Android 刘海屏适配总结

一、简介 随着 Apple 发布 iPhone X 之后,各大手机厂商也开始模仿这种刘海屏的设计,而且刘海屏手机的用户也是越来越大,前段时间将项目进行了所有主流厂商的刘海屏手机的适配,以便让刘海屏...

developerHaoz
07/20
0
0
android兼容小米xiaomi刘海屏解决方案

引用自小米官方文档,这里缩减了一些内容,捡取重要内容。 转载请标明出处: https://blog.csdn.net/DJY1992/article/details/80688376 本文出自:【奥特曼超人的博客】 推荐: android 兼容所...

奥特曼超人
06/14
0
0
Android获取设备状态栏status bar高度的正确姿势

Android获取设备状态栏高度的正确姿势 正确代码方式: int height = 0; 所得height即为设备屏幕状态栏高度,单位pix。该方法可以在onCreate里面直接使用,与View的初始化先后顺序无关,此方法...

zhangphil
04/23
0
0
Android 透明(沉浸式)状态栏设计

一.透明(沉浸式)状态栏设计 通过第三方代码实现透明状态栏的主要代码如下。 用法如下 注意:状态栏透明可能导致布局向上便宜,所以需要设置根布局的android:fitsSystemWindows="true" 二....

IamOkay
2015/01/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

NEO 节点介绍

全节点(full nodes)是存储 NEO 区块链全部数据的节点,通过 P2P 的方式与区块链网络连接,在区块链网络中,所有的全节点都是平等的,既充当客户端又充当服务器。 NEO 有两个全节点程序: ...

NEO-FANS
2分钟前
0
0
内网穿透大杀器--EarthWorm

0x00 前言 如果感觉本文对你有帮助,请在文章末尾点个赞,谢谢表哥们支持! 当你在内网渗透,并且拿下一台机器的权限时,你是不是觉得已经算是一次完整的渗透了? 不来一次内网漫游,渗透是不...

刀剑如梦
8分钟前
0
0
PiggyMetrics分布式框架

https://github.com/sqshq/PiggyMetrics

丁建祥
9分钟前
0
0
零距离接触阿里云时序时空数据库TSDB

概述 最近,Amazon新推出了完全托管的时间序列数据库Timestream,可见,各大厂商对未来时间序列数据库的重视与日俱增。 阿里云TSDB是阿里巴巴集团数据库事业部研发的一款高性能分布式时序时空...

阿里云云栖社区
18分钟前
0
0
OkHttpClient封装

import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.util.Map; import java.util.TreeMap; import java.util.Map.Entry; import o......

尘叙缘
19分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部