直播app原始碼,狀態列和導航欄設定成透明狀態
直播app原始碼,狀態列和導航欄設定成透明狀態實現的相關程式碼
設定頁面透明,使用主題
註冊activity設定主題
<style name="TranslucentNoActionBarTheme" parent="Theme.AppCompat.NoActionBar"> <item name="windowActionBar">false</item> <item name="android:windowContentTransitions">true</item> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowIsTranslucent">true</item> </style>
設定狀態列和導航欄透明
直接呼叫下面方法,傳當前activity即可
public void setNavAndStatusBarTransparent(Activity activity) { if (activity == null) { return; } try { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { Window window = activity.getWindow(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { if (window != null) { View decorView = window.getDecorView(); //兩個 flag 要結合使用,表示讓應用的主體內容佔用系統狀態列的空間 int option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE; decorView.setSystemUiVisibility(option); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(Color.TRANSPARENT); //導航欄顏色也可以正常設定 window.setNavigationBarColor(Color.TRANSPARENT); } } else { if (window != null) { WindowManager.LayoutParams attributes = window.getAttributes(); if (attributes != null) { int flagTranslucentStatus = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS; int flagTranslucentNavigation = WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION; attributes.flags |= flagTranslucentStatus; attributes.flags |= flagTranslucentNavigation; window.setAttributes(attributes); } } } } } catch (Exception e) { e.printStackTrace(); } }
設定activity點選事件透傳
注意要在onCreate方法的setContenView前新增如下程式碼
//設定activity點選透傳 WindowManager.LayoutParams layoutParams = getWindow().getAttributes(); layoutParams.flags = WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE;
以上就是 直播app原始碼,狀態列和導航欄設定成透明狀態實現的相關程式碼,更多內容歡迎關注之後的文章
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2861684/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 直播app系統原始碼,Flutter中導航欄和狀態列設定成透明APP原始碼Flutter
- iOS狀態列和導航欄的設定iOS
- 直播app開發,flutter 狀態列 AppBar 設定透明和半透明APPFlutter
- 相容 Android 4.4 透明狀態列與導航欄Android
- 直播app原始碼,背景主題以及狀態列的更改和設定APP原始碼
- flutter佈局-9-appbar導航欄和狀態列FlutterAPP
- 管理系統狀態列和導航欄(翻譯)
- 直播系統原始碼,uni-app 設定狀態列背景色原始碼APP
- Android沉浸式設計(狀態列和導航欄)——封裝Android封裝
- Android 顯示、隱藏狀態列和導航欄Android
- 直播系統平臺搭建,狀態列透明和程式碼設定漸變色
- iOS專案開發實戰——自定義設定導航欄和狀態列背景iOS
- android 自定義狀態列和導航欄分析與實現Android
- Android 狀態列透明Android
- Android 7.0 SystemUI 之啟動和狀態列和導航欄簡介AndroidSystemUI
- 關於iOS 狀態列、導航欄的幾處筆記iOS筆記
- flutter全屏沉浸式狀態列+標題欄|flutter凸起Tabbar導航FluttertabBar
- 直播系統搭建,設定透明背景(去掉蒙層)狀態列顏色不改變
- 1、[ swift ] 狀態列設定Swift
- 設定沉浸式狀態列
- 線上直播原始碼,單獨修改狀態列顏色原始碼
- win10怎麼把狀態列變透明_win10狀態列變透明方法Win10
- Android全屏與透明狀態列Android
- 讓Android支援透明狀態列Android
- MUI——設定沉浸式狀態列UI
- 直播系統開發,實現自適應手機狀態列高度的頂部導航欄
- 直播軟體搭建,修改狀態列、導航條顏色及文字顏色
- 短視訊平臺原始碼,透明導航欄 AppBar原始碼APP
- android去掉標題欄和狀態列Android
- Android透明狀態列解決方案Android
- 直播平臺原始碼,快速獲取當前狀態列高度原始碼
- 影片直播系統原始碼,自定義背景和狀態管理原始碼
- 直播平臺原始碼,css移動端設定底部導航欄原始碼CSS
- 關於android透明狀態列總結Android
- IOS設定狀態列的背景顏色iOS
- 成品直播原始碼,禁止狀態列受到下滑的影響自動下拉原始碼
- 短視訊直播系統,Android狀態列設定顏色字型Android
- 直播app原始碼,全屏並且去掉底部虛擬導航欄APP原始碼