最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2013年11月02日 09:29:06   作者:  
getWindow().findViewById(Window.ID_ANDROID_CONTENT)這個方法獲取到的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根(是一個framelayout對象),android繪制會將要繪制的view放置在framelayout中繪制。

Display對象獲取屏幕高寬 :



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

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

常用一些值計算:

屏幕高寬
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有個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)這個方法獲取到的view就是程序不包括標(biāo)題欄的部分,然后就可以知道標(biāo)題欄的高度了。

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

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

相關(guān)文章

最新評論

邵武市| 平远县| 孝昌县| 饶阳县| 宁蒗| 阿拉尔市| 肥西县| 翁牛特旗| 和顺县| 五大连池市| 吉木乃县| 文昌市| 黄梅县| 松江区| 富川| 广南县| 呼图壁县| 临澧县| 宜良县| 手游| 西林县| 漾濞| 祁阳县| 鸡东县| 临夏市| 望都县| 漯河市| 邻水| 虎林市| 新化县| 娱乐| 阳东县| 达日县| 方正县| 神农架林区| 台湾省| 宁城县| 石景山区| 迭部县| 大洼县| 隆德县|