Android-沉浸式狀態列的實現
1、取得狀態列的高度值
/** * 獲取狀態列的高度 * @return */ protected int getStatusBarHeight(){ try { //通過反射獲取到類 Class<?> aClass = Class.forName("com.android.internal.R$dimen"); //建立物件 Object o = aClass.newInstance(); //拿取屬性 Field status_bar_height = aClass.getField("status_bar_height"); //獲取值 Object o1 = status_bar_height.get(o); int height = Integer.parseInt(o1.toString()); // return getResources().getDimensionPixelSize(height); } catch (Exception e) { e.printStackTrace(); } return 0 ; }
2、設定沉浸式狀態列(狀態列設定透明後,將頂層佈局高度動態增加狀態列的高度)
/** * 系統版本4.4或以上才可以設定沉浸式狀態列 * * 設定沉浸式狀態列 */ private void setStatus(){ if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { //設定狀態列透明 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); //設定導航欄透明(如需要設定導航欄) getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); bar_layout = (ViewGroup) findViewById(R.id.bar_layout); final int statusBarHeight = getStatusBarHeight(); bar_layout.post(new Runnable() { @Override public void run() { int height = bar_layout.getHeight(); ViewGroup.LayoutParams layoutParams = bar_layout.getLayoutParams(); layoutParams.height = statusBarHeight + height ; bar_layout.setLayoutParams(layoutParams); } }); } }
相關文章
- Android 沉浸式狀態列的實現Android
- 沉浸式狀態列
- Android 沉浸式狀態列 漸變顏色的實現Android
- MUI——設定沉浸式狀態列UI
- flutter全屏沉浸式狀態列+標題欄|flutter凸起Tabbar導航FluttertabBar
- Android沉浸式狀態列還能這樣玩—教你玩出新花樣Android
- Android 商品詳情頁懸浮效果以及沉浸式狀態列,無衝突Android
- 一行程式碼使Android狀態列變沉浸式透明化行程Android
- Android Studio 沉浸式狀態列(個人手記)—錯誤資訊請批評Android
- 使用列舉實現狀態機來優雅你的狀態變更邏輯
- vue的狀態管理實現Vue
- Dapr實現分散式有狀態服務的細節分散式
- 狀態列
- C++容器巢狀實現動態二維陣列C++巢狀陣列
- Android如何實現超級棒的沉浸式體驗Android
- Android-動態載入外掛資源,皮膚包的實現原理Android
- android 自定義狀態列和導航欄分析與實現Android
- Spring Boot Security 整合 JWT 實現 無狀態的分散式API介面Spring BootJWT分散式API
- JS手寫狀態管理的實現JS
- React Native 中的狀態列React Native
- 狀態模式(c++實現)模式C++
- 語法糖甜不甜?巧用列舉實現“狀態”轉換限制
- 狀態列相關
- Android 狀態列透明Android
- 你可以零侵入式實現小程式的全域性狀態管理嗎
- Flutter改變狀態列字型、狀態列背景顏色、Appbar背景顏色的方式FlutterAPP
- 探索 單個Fragment實現沉浸式,其餘Fragment不實現的解決辦法Fragment
- 鏈式佇列的實現方式佇列
- 從Promise的實現來看有限狀態機Promise
- 一個有限狀態機的C++實現C++
- 靜態佇列,迴圈陣列實現佇列陣列
- 05@多用列舉表示狀態、選項、狀態碼
- iOS 靈活的控制狀態列StatusBariOS
- 堆疊的實現(1)--靜態陣列陣列
- [譯]Flutter - 使用Provider實現狀態管理FlutterIDE
- 瞭解VR虛擬現實的沉浸式效果及其技術特點!VR
- Android獲取狀態列高度Android
- react-native android狀態列ReactAndroid