Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android 取得狀態欄、任務欄高度的小例子

Android 取得狀態欄、任務欄高度的小例子

編輯: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;

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;

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved