Android 獲取屏幕高度,標(biāo)題高度,狀態(tài)欄高度(實(shí)例代碼)
通過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)欄的高度了。
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)題欄的高度了。
int contentTop = getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();
//statusBarHeight是上面所求的狀態(tài)欄的高度
int titleBarHeight = contentTop - statusBarHeight
相關(guān)文章
Android開發(fā)之開發(fā)者頭條(二)實(shí)現(xiàn)左滑菜單
本文給大家介紹Android開發(fā)之開發(fā)者頭條(二)實(shí)現(xiàn)左滑菜單,主要用android自帶的DrawerLayout控件實(shí)現(xiàn)的此功能,具體實(shí)現(xiàn)過程請參考下本文2016-04-04Android實(shí)現(xiàn)仿網(wǎng)易新聞的頂部導(dǎo)航指示器
這篇文章主要介紹了Android實(shí)現(xiàn)仿網(wǎng)易新聞的頂部導(dǎo)航指示器的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-08-08Android 短信轉(zhuǎn)換成彩信的消息數(shù)量(實(shí)例代碼)
本文通過實(shí)例代碼給大家介紹了Android 短信轉(zhuǎn)換成彩信的消息數(shù)量,需要的朋友可以參考下2017-05-05Android的Service應(yīng)用程序組件基本編寫方法
Service是一個(gè)android 系統(tǒng)中的應(yīng)用程序組件,它跟Activity的級別差不多,但是他沒有圖形化界面,不能自己運(yùn)行,只能后臺運(yùn)行,Service通常用來處理一些耗時(shí)比較長的操作2012-12-12如何利用Android Studio將moudle變成jar示例詳解
這篇文章主要給大家介紹了關(guān)于如何利用Android Studio將moudle變成jar的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來跟著小編一起學(xué)習(xí)學(xué)習(xí)吧。2017-08-08