Android獲得statusBar高度
在畫UI過程中,有些情況下需要知道statusBar高度:
網上有些方法是這樣的:
Rect frame = new Rect();
getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
int statusBarHeight = frame.top;
Log.v("@@@@@@", "the statusbar Height is : " + statusBarHeight);
類似:
int contentTop = getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();
//statusBarHeight是上面所求的狀態列的高度
int titleBarHeight = contentTop - statusBarHeight;
Log.v("@@@@@@", "the titleBar Height is : " + titleBarHeight);
或者:
Rect rect = new Rect();
MainActivity.this.getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);
View view = MainActivity.this.getWindow().findViewById(Window.ID_ANDROID_CONTENT);
int topS = rect.top;//狀態列高度
int topT = rect.height() - view.getHeight();
Log.v("@@@@@@", "the statusbar Height is : " + topS);
Log.v("@@@@@@", "the titleBar Height is : " + topT);
在我的手機上,均不行。
後:
public static int getStatusBarHeight(Context context){
Class<?> c = null;
Object obj = null;
Field field = null;
int x = 0, statusBarHeight = 0;
try {
c = Class.forName("com.android.internal.R$dimen");
obj = c.newInstance();
field = c.getField("status_bar_height");
x = Integer.parseInt(field.get(obj).toString());
statusBarHeight = context.getResources().getDimensionPixelSize(x);
Log.v("@@@@@@", "the status bar height is : " + statusBarHeight);
} catch (Exception e1) {
e1.printStackTrace();
}
return statusBarHeight;
}
經測試可行。
相關文章
- Android獲取狀態列高度Android
- android 設定listview高度AndroidView
- Android 監聽鍵盤狀態變化,並獲取鍵盤高度Android
- 如何獲得Android手機的軟體安裝列表Android
- Android開發-獲取系統輸入法高度的正確姿勢Android
- Android開發 - 獲取系統輸入法高度的正確姿勢Android
- Android的CameraX獲得相機支援解析度的方法Android
- Android破取某漫畫app獲得VIP許可權AndroidAPP
- 短視訊平臺原始碼,Android獲取螢幕的高度和寬度原始碼Android
- iOS 精準獲取webView內容高度並自適應高度iOSWebView
- js獲取iframe和父級之間元素,方法、屬,獲取iframe的高度自適應iframe高度JS
- 如何獲得更小的應用檔案尺寸?來了解下 Android App BundleAndroidAPP
- 瀏覽器滾動條高度的獲取瀏覽器
- 獲取各種螢幕高度寬度(工作)
- MATLAB獲得子圖位置Matlab
- js 獲取可視介面的高度或寬度JS
- iOS 靈活的控制狀態列StatusBariOS
- [深入SystemUI]-SystemUI_statusbar的啟動流程SystemUI
- React Native元件學習 StatusBar(ES6)React Native元件
- jQuery獲得指定text的值jQuery
- 刪除並獲得點數
- Android XML靈活佈局之 EditText實現自適應高度同時限制最小和最大高度AndroidXML
- Android 檢視高度和陰影的那點事兒Android
- 2分鐘獲得HTTPS證書HTTP
- unity SystemInfo類 獲得電量batteryUnityBAT
- 如何獲得CSDN下載積分
- 軟體測試如何獲得高薪?高薪
- CSDN 學習勳章獲得攻略
- 如何獲得PMP認證證書
- ABAP 從檢視獲得資料
- JS,Jquery獲取各種螢幕的寬度和高度JSjQuery
- C++ Qt開發:StatusBar底部狀態列元件C++QT元件
- C/C++ Qt StatusBar 底部狀態列應用C++QT
- 京東獲得店鋪的所有商品API介面(item_search_shop-獲得店鋪的所有商API
- SAP Data Intelligence API如何獲得Access TokenIntelAPI
- item_review - 獲得淘寶評論View
- HTML5獲取圖片的原始高度簡單介紹HTML
- 直播平臺原始碼,快速獲取當前狀態列高度原始碼
- Android 通知欄顯示自定義通知時設定更高的高度Android