获取状态栏高度

Android中获取状态栏高度的两种方法:

     public static int getStatusHeight(Context context)
     {

        int statusHeight = 0;
        try
        {
            Class<?> clazz = Class.forName("com.android.internal.R$dimen");
            Object object = clazz.newInstance();
            int resourceId = Integer.parseInt(clazz.getField("status_bar_height").get(object).toString());
            statusHeight = context.getResources().getDimensionPixelSize(resourceId);
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return statusHeight;
     }

     public static int getStatusHeight2(Context context)
     {
         int statusHeight = 0;
         int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android");
         if (resourceId > 0)
         {
             statusHeight = context.getResources().getDimensionPixelSize(resourceId);
         }
         return statusHeight;
    }
时间: 12-05

获取状态栏高度的相关文章

【转】Andorid获取状态栏高度

在应用开发中,有时我们需要用代码计算布局的高度,可能需要减去状态栏(status bar)的高度.状态栏高度定义在Android系统尺寸资源中status_bar_height,但这并不是公开可直接使用的,例如像通常使用系统资源那样android.R.dimen.status_bar_height.但是系统给我们提供了一个Resource类,通过这个类我们可以获取资源文件.下边是在Activity中获取的方法 public int getStatusBarHeight() { int resul

android 获取状态栏高度

public int getStatusBarHeight(Context context) { Class<?> c = null; Object obj = null; Field field = null; int x = 0, statusBarHeight = 0; try { c = Class.forName("com.android.internal.R$dimen"); obj = c.newInstance(); field = c.getField(&

Android -- 状态栏高度

干货 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

Android获取actionbar高度和StatusBar高度的方法

ActionBar: getActionBar().getHeight(); StatusBar: /** * 获取状态栏高度 * * @return */ public static int getStatusBarHeight(Context context) { Class<?> c = null; Object obj = null; java.lang.reflect.Field field = null; int x = 0; int statusBarHeight = 0; tr

Android如何获取系统高度、标题栏和状态栏高度

在android应用中,有时需要计算个View的位置,导致需要计算状态栏高度,标题栏高度等信息.为以后方便,在此做个简单记录. 晒代码前先了解一下android屏幕区域的划分,如下图(该图引用自此文http://www.iteye.com/topic/828830 ) 1. 屏幕区域的获取 [java] view plaincopy activity.getWindowManager().getDefaultDisplay(); 2.应用区域的获取 [java] view plaincopy R

获取状态栏、标题栏、屏幕高度

获取屏幕.状态栏.标题栏高度 @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if (hasFocus) { //屏幕宽高--包含状态栏.注意,华为的手机不包含下面的[HOME键那一栏],如1920屏幕只有1794 Point point = new Point(); Display disp = this.getWindowManager()

js使用offsetHeight获取div高度为0的问题

今晚试了好久没弄出来,后来获取子一层的div就能获取到高度了 我的情况是这样的:我在最外面写一个<div id="mainBody">,  里面写bootstrap的div,获取mainBody的offsetHeight为0,而子div(bootstrap的div)能够显示offsetHeight. 百度了好久,终于找到一个网页:http://bbs.csdn.net/topics/390355106 原来是浮动的问题,那就好办了,直接在#mainBody的里面加上<

javascript 获取页面高度(多种浏览器)(转)

关于获取各种浏览器可见窗口大小的一点点研究 <script> function getInfo() { var s = ""; s += " 网页可见区域宽:"+ document.body.clientWidth; s += " 网页可见区域高:"+ document.body.clientHeight; s += " 网页可见区域宽:"+ document.body.offsetWidth + " (

iOS6 / iOS7 状态栏高度适配

问题原因:iOS7的状态栏(status bar)不再占用单独的20px,所以假设你在iOS6上的界面布局是正常的,那么到了iOS7上就会变成以下这个样子:             左边是iOS6界面布局,右边是iOS7界面布局.这时有人会想着把iOS7界面上控件总体向下移动20px,可是当Interface Builder Document改成Xcode 4.6时又变成了例如以下情况:             界面不会由于你在不同的Interface Builder Document值下设置不