Android 取得状态栏、任务栏高度的小例子

赵钱孙周不说理

赵钱孙周不说理

2016-02-19 09:43

下面图老师小编要跟大家分享Android 取得状态栏、任务栏高度的小例子,简单的过程中其实暗藏玄机,还是要细心学习,喜欢还请记得收藏哦!

代码如下:

package com.aslibra.test;

import android.app.Activity;
import android.graphics.Rect;
import android.os.Bundle;
import android.util.Log;
import android.view.Window;
import android.widget.ImageView;

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

public class test extends Activity {
  ImageView iv;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

    iv = (ImageView) this.findViewById(R.id.ImageView01);
    iv.post(new Runnable()
    {
      public void run()
      {
        viewInited();
      }
    }
    );
    Log.v("test", "== ok ==");
  }

  private void viewInited(){
    Rect rect= new Rect();
    Window window= getWindow();
    iv.getWindowVisibleDisplayFrame(rect);
    int statusBarHeight= rect.top;
    int contentViewTop= window.findViewById(Window.ID_ANDROID_CONTENT).getTop();
    int titleBarHeight= contentViewTop - statusBarHeight;
    //测试结果:ok之后 100多 ms 才运行了
    Log.v("test", "=-init-= statusBarHeight="+statusBarHeight+
        " contentViewTop="+contentViewTop+
        " titleBarHeight="+titleBarHeight);   
  }

  /*
   * 07-14 02:36:48.449: VERBOSE/test(1385): == ok ==
   * 07-14 02:36:48.558: VERBOSE/test(1385): =-init-= statusBarHeight=25 contentViewTop=50 titleBarHeight=25
   */
}

浏览器获取状态栏高度的代码
代码如下:

    Rect visRect = new Rect();
    if (!mBrowserFrameLayout.getGlobalVisibleRect(visRect)) {
        if (LOGD_ENABLED) {
            Log.d(LOGTAG, "showFakeTitleBar visRect failed");
        }
        return;
    }
    params.y = visRect.top;

展开更多 50%)
分享

猜你喜欢

Android 取得状态栏、任务栏高度的小例子

编程语言 网络编程
Android 取得状态栏、任务栏高度的小例子

Android中隐藏标题栏和状态栏的方法

编程语言 网络编程
Android中隐藏标题栏和状态栏的方法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Access 2007 状态栏

编程语言 网络编程
Access 2007 状态栏

看懂Word状态栏

办公软件
看懂Word状态栏

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Access 2007状态栏

编程语言 网络编程
Access 2007状态栏

adobe dreamweaver教程状态栏

Dreamweaver 电脑应用
adobe dreamweaver教程状态栏

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

select * from sp_who的解决方案

select * from sp_who的解决方案

Asp.Net 和 AJAX.Net 的区别

Asp.Net 和 AJAX.Net 的区别
下拉加载更多内容 ↓