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
- Android 沉浸式狀態列實現Android
- 沉浸式狀態列解析
- Android 實現沉浸式狀態列效果(systembartint庫)Android
- Android 沉浸式狀態列 漸變顏色的實現Android
- 設定沉浸式狀態列
- android狀態列一體化(沉浸式狀態列)Android
- MUI——設定沉浸式狀態列UI
- Android 之低版本高版本實現沉浸式狀態列Android
- [快速搞定]android 狀態列一體化 沉浸式狀態列Android
- Android 沉浸式狀態列攻略 讓你的狀態列變色吧Android
- 輕量簡便的android沉浸式狀態列Android
- Android關於沉浸式狀態列總結Android
- 隨手記Android沉浸式狀態列的踩坑之路Android
- Android UI體驗之全屏沉浸式透明狀態列效果AndroidUI
- flutter全屏沉浸式狀態列+標題欄|flutter凸起Tabbar導航FluttertabBar
- Android沉浸式設計(狀態列和導航欄)——封裝Android封裝
- 實現沉浸式狀態列 + scrollView頂部伸縮 + actionBar漸變完美結合,打造屬於自己的ViewView
- Android沉浸式狀態列還能這樣玩—教你玩出新花樣Android
- 一行程式碼使Android狀態列變沉浸式透明化行程Android
- Android Studio 沉浸式狀態列(個人手記)—錯誤資訊請批評Android
- Android 商品詳情頁懸浮效果以及沉浸式狀態列,無衝突Android
- Android 沉浸式全屏的實現方法Android
- 八、Qt Creator實現狀態列顯示QT
- 全屏、沉浸式、fitSystemWindow使用及原理分析:全方位控制“沉浸式”的實現
- 使用列舉實現狀態機來優雅你的狀態變更邏輯
- 5 個處理狀態列的函式函式
- Android沉浸式UI實現及原理AndroidUI
- Android 沉浸式 UI 實現及原理AndroidUI
- Android 系統狀態列一體化實現Android
- vue的狀態管理實現Vue
- Dapr實現分散式有狀態服務的細節分散式
- C++容器巢狀實現動態二維陣列C++巢狀陣列
- wxPython中工具欄、狀態列、選單實現薦Python
- 分散式事務的一種實現方式--狀態流轉分散式
- Android-多狀態載入佈局的開發-TipsAndroid
- Android-實現Animation everywhereAndroid