欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android 獲取屏幕高度,標(biāo)題高度,狀態(tài)欄高度(實(shí)例代碼)

 更新時(shí)間:2013年11月02日 09:29:06   作者:  
getWindow().findViewById(Window.ID_ANDROID_CONTENT)這個(gè)方法獲取到的view就是程序不包括標(biāo)題欄的部分,然后就可以知道標(biāo)題欄的高度了

通過View提供的方法獲取高度方式有兩種:

1, 當(dāng)前顯示的view中直接獲取當(dāng)前view高寬
2, 通過Activity的getWindow().findViewById(Window.ID_ANDROID_CONTENT)獲取系統(tǒng)當(dāng)前顯示的 view根(是一個(gè)framelayout對象),android繪制會將要繪制的view放置在framelayout中繪制。

Display對象獲取屏幕高寬 :



獲取display對象 Activity中g(shù)etWindowManager().getDefaultDisplay()
getWidth() 返回顯示界面寬度即屏幕寬度
getHeight() 返回顯示界面高度即屏幕高度

由display對象設(shè)置DisplayMetrics高寬值,通過DisplayMetrics對象獲取屏幕高寬,有點(diǎn)多此一舉 :
getWidth() 返回顯示界面寬度即屏幕寬度
getHeight() 返回顯示界面高度即屏幕高度

常用一些值計(jì)算:

屏幕高寬
Canvas對象 、display對象和DisplayMetrics可獲取屏幕的高寬

狀態(tài)欄高度
View的getWindowVisibleDisplayFrame(Rect outRect)附值outRect后,outRect.top()即是狀態(tài)欄高度

標(biāo)題高度
View的getWindowVisibleDisplayFrame(Rect outRect1)附值outRect后,outRect.height()-view.getheight()即是標(biāo)題高度。

1.獲取狀態(tài)欄高度:

decorView是window中的最頂層view,可以從window中獲取到decorView,然后decorView有個(gè)getWindowVisibleDisplayFrame方法可以獲取到程序顯示的區(qū)域,包括標(biāo)題欄,但不包括狀態(tài)欄。

于是,我們就可以算出狀態(tài)欄的高度了。

復(fù)制代碼 代碼如下:

 Rect frame = new Rect();
  getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
  int statusBarHeight = frame.top;

2.獲取標(biāo)題欄高度:

getWindow().findViewById(Window.ID_ANDROID_CONTENT)這個(gè)方法獲取到的view就是程序不包括標(biāo)題欄的部分,然后就可以知道標(biāo)題欄的高度了。

復(fù)制代碼 代碼如下:

int contentTop = getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();
  //statusBarHeight是上面所求的狀態(tài)欄的高度
  int titleBarHeight = contentTop - statusBarHeight

相關(guān)文章

最新評論