下面图老师小编要跟大家分享Android 取得状态栏、任务栏高度的小例子,简单的过程中其实暗藏玄机,还是要细心学习,喜欢还请记得收藏哦!
【 tulaoshi.com - 编程语言 】
代码如下:
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; 
public class test extends Activity { 
  ImageView iv; 
  @Override 
  public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    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; 
来源:http://www.tulaoshi.com/n/20160219/1591873.html
看过《Android 取得状态栏、任务栏高度的小例子》的人还看了以下文章 更多>>