直播視訊app原始碼,Android基礎篇 顯示、隱藏狀態列和導航欄
阿新 • • 發佈:2021-07-28
直播視訊app原始碼,Android基礎篇 顯示、隱藏狀態列和導航欄實現的相關程式碼
一、AppTheme主題配置全屏屬性
```handlebars <item name="android:windowFullscreen">true</item> ```
二、Activity的setContentView之前設定全屏的flag
```handlebars getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); ```
三、控制狀態列顯示、隱藏
```handlebars // 隱藏狀態列 getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); // 顯示狀態列 getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); ```
四、控制狀態列和導航欄顯示、隱藏
```handlebars View.SYSTEM_UI_FLAG_LAYOUT_STABLE:全屏顯示時保證尺寸不變。 View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN:Activity全屏顯示,狀態列顯示在Activity頁面上面。 View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION:效果同View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN View.SYSTEM_UI_FLAG_HIDE_NAVIGATION:隱藏導航欄 View.SYSTEM_UI_FLAG_FULLSCREEN:Activity全屏顯示,且狀態列被隱藏覆蓋掉。 View.SYSTEM_UI_FLAG_VISIBLE:Activity非全屏顯示,顯示狀態列和導航欄。 View.INVISIBLE:Activity伸展全屏顯示,隱藏狀態列。 View.SYSTEM_UI_LAYOUT_FLAGS:效果同View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY:必須配合View.SYSTEM_UI_FLAG_FULLSCREEN和View.SYSTEM_UI_FLAG_HIDE_NAVIGATION組合使用,達到的效果是拉出狀態列和導航欄後顯示一會兒消失。// 全屏展示 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { // 全屏顯示,隱藏狀態列和導航欄,拉出狀態列和導航欄顯示一會兒後消失。 activity.getWindow().getDecorView().setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); } else { // 全屏顯示,隱藏狀態列 activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN); } } // 非全屏顯示,顯示狀態列和導航欄 activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE); ```
以上就是直播視訊app原始碼,Android基礎篇 顯示、隱藏狀態列和導航欄實現的相關程式碼, 更多內容歡迎關注之後的文章