Android比Iphone煩的多的一點就是:屏幕尺寸實在是太多瞭!
下面介紹下在Android中如何獲取屏幕相關的信息。
1.屏幕尺寸,源代碼如下:
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int screenWidth=metrics.widthPixels; //屏幕寬度
int .screenHeight=metrics.heightPixels; //屏幕高度
這段代碼可以插入到Activity的onCreate()函數中。
2.獲取標題欄、狀態欄高度:
Rect rect = new Rect();
Window win = this.getWindow();
win.getDecorView().getWindowVisibleDisplayFrame(rect);
int statusBarHeight = rect.top;
int contentViewTop = win.findViewById(Window.ID_ANDROID_CONTENT).getTop();
int titleBarHeight = contentViewTop – Variable.statusBarHeight;
//statusBarHeight為狀態欄高度,titleBarHeight為標題欄高度
另外,這段代碼不能插入Activity的onCreate()和onResume()函數中,否則得到的兩個值都為0 。我的做法是將之插入到onPause()函數中,成功得到兩個正確值。據說可以插入到按鈕等組件的回調函數中,但是本人沒有實驗,就不妄下結論瞭。
摘自 tobacco5648的專欄