a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 系統 > Android > 正文

Android 獲取屏幕高度,標題高度,狀態欄高度(實例代碼)

2020-04-11 12:01:24
字體:
來源:轉載
供稿:網友

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

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

Display對象獲取屏幕高寬 :



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

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

常用一些值計算:

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

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

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

1.獲取狀態欄高度:

decorView是window中的最頂層view,可以從window中獲取到decorView,然后decorView有個getWindowVisibleDisplayFrame方法可以獲取到程序顯示的區域,包括標題欄,但不包括狀態欄。

于是,我們就可以算出狀態欄的高度了。

復制代碼 代碼如下:

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

2.獲取標題欄高度:

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

復制代碼 代碼如下:

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 有码在线播放 | 男女羞羞视频免费看 | 日本在线播放 | 日韩电影免费在线观看中文字幕 | 黄网站免费在线观看 | 免费av在线网站 | 日韩电影免费在线观看中文字幕 | 在线看91 | 中文字幕第一页在线 | 成人在线免费观看 | 黄色网址在线免费观看 | 蜜桃视频麻豆女神沈芯语免费观看 | 精品久久久久久国产 | 国产免费看黄网站 | 国产99免费 | 综合色婷婷一区二区亚洲欧美国产 | 福利视频一区 | 免费观看一级特黄欧美大片 | 久久人人爽爽人人爽人人片av | 热久久久久 | 中文字幕在线电影 | 日韩高清在线播放 | 狠狠做深爱婷婷综合一区 | 中文字幕在线亚洲 | 夜夜骚 | 在线播放国产精品 | 日韩国产免费观看 | 欧美一级毛片免费观看 | 精品国内| 91麻豆精品国产91久久久资源速度 | 日本精品久久久久久久 | h小视频 | 欧美黑人xx | 国产亚洲成av人片在线观看桃 | 暖暖视频日韩欧美在线观看 | 天堂综合网久久 | 日韩一区在线观看视频 | 一区二区三区四区在线 | 国产精品久久久一区二区三区 | 精品在线播放 | 91精品久久久久久久久久 |