首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

获取状态栏跟标题栏的的高度

2012-09-06 
获取状态栏和标题栏的的高度代码是参考某位仁兄的片段,以下是可行的完整测试代码:package com.aslibra.tes

获取状态栏和标题栏的的高度
代码是参考某位仁兄的片段,以下是可行的完整测试代码:

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;

热点排行