1 package com.aslibra.test;
2
3 import android.app.Activity;
4 import android.graphics.Rect;
5 import android.os.Bundle;
6 import android.util.Log;
7 import android.view.Window;
8 import android.widget.ImageView;
9
10 public class test extends Activity {
11
12 ImageView iv;
13
14 @Override
15 public void onCreate(Bundle savedInstanceState) {
16 super.onCreate(savedInstanceState);
17 setContentView(R.layout.main);
18
19 iv = (ImageView) this.findViewById(R.id.ImageView01);
20 iv.post(new Runnable()
21 {
22 public void run()
23 {
24 viewInited();
25
26 }
27 });
28 Log.v("test", "== ok ==");
29 }
30
31 private void viewInited(){
32 Rect rect= new Rect();
33 Window window= getWindow();
34 iv.getWindowVisibleDisplayFrame(rect);
35 int statusBarHeight= rect.top;
36 int contentViewTop= window.findViewById(Window.ID_ANDROID_CONTENT).getTop();
37 int titleBarHeight= contentViewTop - statusBarHeight;
38 //测试结果:ok之后 100多 ms 才运行了
39 Log.v("test", "=-init-= statusBarHeight="+statusBarHeight+
40 " contentViewTop="+contentViewTop+
41 " titleBarHeight="+titleBarHeight);
42 }
43
44 /*
45 * 07-14 02:36:48.449: VERBOSE/test(1385): == ok ==
46 * 07-14 02:36:48.558: VERBOSE/test(1385): =-init-= statusBarHeight=25 contentViewTop=50 titleBarHeight=25
47 */
48 }
代码转自http://www.aslibra.com/blog/post/android-getting-height-of-status-and-title-bar.php