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;
        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());
            statusBarHeight = context.getResources().getDimensionPixelSize(x);
            return statusBarHeight;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return statusBarHeight;
    }
    
时间: 2024-10-03 17:09:20

Android获取actionbar高度和StatusBar高度的方法的相关文章

Android获取APK包名的几种方法

Android获取APK包名的几种方法:1.adb shell pm list package -f | findstr 关键字 #只能获取到包名,主Activity名无法获取到 2.使用aapt--aapt是sdk自带的一个工具,在sdk\builds-tools\目录下 运行后的结果中以下两行分别是应用包名package和入口activity名称 package: name=’com.estrongs.android.pop’ launchable-activity: name=’com.e

android获取view宽高的几种方法

在onCreate方法中我们通过mView.getWidth()和mView.getHeight()获取到的view的宽高都是0,那么下面几种方法就可以在onCreate方法中获取到view的宽高. 1. int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); int h = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED

Android 获取View绘制前的高度

在Android开发过程中,我们可能需要获取View绘制前的高度或者宽度,一种的可能情形是我们初始化的时候让某个View是Visible = Gone的,当我们触发某个事件的时候需要它显示并且希望有一些动画效果.这时候我们就要获取这个View显示前即绘制前的宽度或者高度.原理很简单,我们知道,View的绘制过程发生之前,会先执行onMeasure方法.那么我们就可以利用反射来或者我们需要的值.下面给出获取高度的代码,宽度同理. private int getTargetHeight(View v

Android获取系统顶部状态栏(StatusBar)与底部工具栏(NavigationBar)的高度

Android一些设备都有上下两条bar,我们可以获取这些bar的信息.下面放上获取高度的代码.代码注释和其他方法有空再放. 原文地址http://www.cnblogs.com/rossoneri/p/4142962.html 获取顶部status bar 高度 private int getStatusBarHeight() { Resources resources = mActivity.getResources(); int resourceId = resources.getIden

Android获取状态栏和标题栏的高度

版权声明:本文为博主原创文章,未经博主允许不得转载. 1.获取状态栏高度: decorView是window中的最顶层view,可以从window中获取到decorView,然后decorView有个getWindowVisibleDisplayFrame方法可以获取到程序显示的区域,包括标题栏,但不包括状态栏. 于是,我们就可以算出状态栏的高度了. [Java] view plain copy Rect frame = new Rect();getWindow().getDecorView()

Android获取外置SD卡存储路径的方法

在开发应用的过程中,经常会遇到需要获取设备存储路径的问题.而从网上看到的很多方法获取到的都是内置存储位置,并非外置SD卡路径,因此我推荐使用反射的机制来获取外置存储的路径. 通常,使用Environment.getExternalStorageDirectory()获取的都是内置存储的路径:其他方法如下(由于不同的设备厂商可能进行修改,因此不同设备可能有所不同,以下提供几个方法仅供参考): [由于以下的这些方法一般不可见,因此需要通过反射机制调用] 说明: 1.路径都可以获取到,若存在外置存储卡

Android 获取MAC地址最靠谱的方法。

众所周知在安卓开发中,我们经常使用WifiManager获取MAC地址做设备映射,但会出现这样那样的问题,比如说开了WIFI获取不到地址了.不开WIFI获取不到地址了.刚开机获取不到地址了.网卡未启动获取不到地址了.综上所述最靠谱的方法还是直接用busybox读取系统文件中的MAC地址比较稳妥.    public String getMacAddress() {         String result = "";         String Mac = ""

Android获取屏幕分辨率官方推荐的新方法

<pre name="code" class="java"> WindowManager wm = this.getWindowManager(); Point screenAttribute = new Point(); wm.getDefaultDisplay().getSize(screenAttribute); Toast.makeText(this, "Screen Width:" + screenAttribute.x +

Android获取状态栏、标题栏、ActionBar以及屏幕的高度

一.屏幕高度和宽度获取方法 int screenWidth,screenHeight; WindowManager windowManager = getWindowManager(); Display display = windowManager.getDefaultDisplay(); screenWidth = display.getWidth(); screenHeight = display.getHeight(); 另外一种 DisplayMetrics dm = new Disp