Android 取得状态栏、任务栏高度的小例子
Android 取得状态栏、任务栏高度的小例子
发布时间:2016-12-28 来源:查字典编辑
摘要:复制代码代码如下:packagecom.aslibra.test;importandroid.app.Activity;importandr...

复制代码 代码如下:

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;

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新安卓软件开发学习
热门安卓软件开发学习
编程开发子分类