Android 沉浸式全屏的實現方法
Android 4.4 帶來了沉浸式全屏體驗, 在沉浸式全屏模式下, 狀態列、 虛擬按鍵動態隱藏, 應用可 以使用完整的螢幕空間, 按照 Google 的說法, 給使用者一種 “身臨其境” 的體驗。
Android 4.4 中提供了 IMMERSIVE
和 IMMERSIVE_STICKY
標記, 可以用這兩個標記與SYSTEM_UI_FLAG_HIDE_NAVIGATION
和 SYSTEM_UI_FLAG_FULLSCREEN
一起使用, 來實現沉 浸模式。
注意: 這些標 記在Xamarin.Android 中被對映為Android.Views.SystemUiFlags
列舉。
普通全屏模式 (Fullscreen)
普通全屏模式通過設定下面的標記位實現:
var uiOpts = SystemUiFlags.LayoutStable | SystemUiFlags.LayoutHideNavigation | SystemUiFlags.LayoutFullscreen | SystemUiFlags.Fullscreen | SystemUiFlags.HideNavigation; Window.DecorView.SystemUiVisibility = uiOpts;
在普通全屏模式下, 應用可以佔據螢幕的全部空間, 當使用者觸控螢幕的任何部分時, 會自動退出全屏模 式, 這種模式比較適用於視訊播放器類應用。
沉浸模式 (Immersive)
沉浸模式通過設定下面的標記位實現:
var uiOpts = uiOpts = SystemUiFlags.LayoutStable | SystemUiFlags.LayoutHideNavigation | SystemUiFlags.LayoutFullscreen | SystemUiFlags.Fullscreen | SystemUiFlags.HideNavigation | SystemUiFlags.Immersive; Window.DecorView.SystemUiVisibility = uiOpts;
在沉浸模式下, 應用佔據螢幕的全部空間, 只有當使用者從螢幕的上方邊沿處向下划動時, 才會退出沉浸 模式, 使用者觸控螢幕其它部分是, 不會退出該模式, 這種模式比較適用於閱讀器、 雜誌類應用。
黏性沉浸模式 (Sticky Immersive)
黏性沉浸模式通過設定下面的標記位來實現:
uiOpts = SystemUiFlags.LayoutStable | SystemUiFlags.LayoutHideNavigation | SystemUiFlags.LayoutFullscreen | SystemUiFlags.Fullscreen | SystemUiFlags.HideNavigation | SystemUiFlags.ImmersiveSticky; Window.DecorView.SystemUiVisibility = uiOpts;
在黏性沉浸模式下, 應用使用螢幕的全部空間, 當使用者從螢幕的上方邊沿處向下滑動時, 也不會退出該 模式, 但是系統介面 (狀態列、 導航欄) 將會以半透明的效果浮現在應用檢視之上 (如下圖所示), 只有當使用者點選系統介面上的控制元件時, 才會退出黏性沉浸模式。 因此, 這種全屏模式使用與遊戲、 繪 圖類應用。
根據 Android 開發文件中提到, 應用在使用沉浸模式時最好將 ActionBar 設定為 Overlay 模式, 具體設定可以參考這裡:https://developer.android.com/training/basics/actionbar/overlaying.html
相關文章
- 全屏、沉浸式、fitSystemWindow使用及原理分析:全方位控制“沉浸式”的實現
- Android 沉浸式狀態列的實現Android
- Android沉浸式UI實現及原理AndroidUI
- Android沉浸式狀態列實現Android
- Android 沉浸式狀態列實現Android
- Android 沉浸式 UI 實現及原理AndroidUI
- Android-沉浸式狀態列的實現Android
- Android UI體驗之全屏沉浸式透明狀態列效果AndroidUI
- Android如何實現超級棒的沉浸式體驗Android
- android全屏去掉title欄的多種實現方法Android
- 短視訊系統原始碼,android 真正的全屏沉浸式體驗原始碼Android
- Android 實現沉浸式狀態列效果(systembartint庫)Android
- Qt Android 實現全屏QTAndroid
- Android 沉浸式狀態列 漸變顏色的實現Android
- android沉浸式Android
- html5實現全屏的api方法HTMLAPI
- Android沉浸式設計Android
- Android 之低版本高版本實現沉浸式狀態列Android
- android中activity全屏的方法Android
- Android關於沉浸式的個人理解Android
- flutter全屏沉浸式狀態列+標題欄|flutter凸起Tabbar導航FluttertabBar
- Android實現沉浸式通知欄,通知欄可以根據app的顏色可改變啦AndroidAPP
- Android 沉浸式解析和輪子使用Android
- 探索 單個Fragment實現沉浸式,其餘Fragment不實現的解決辦法Fragment
- 輕量簡便的android沉浸式狀態列Android
- 瞭解VR虛擬現實的沉浸式效果及其技術特點!VR
- React實現元件全屏化React元件
- 實現全屏返回手勢
- Android關於沉浸式狀態列總結Android
- Android 回撥方法的實現Android
- 實現背景圖片的全屏拉伸效果
- 隨手記Android沉浸式狀態列的踩坑之路Android
- C#實現窗體全屏C#
- css如何實現div全屏效果CSS
- 絕對定位實現全屏效果
- 如何實現全屏遮罩層效果遮罩
- android 實現拍照的2種方法Android
- javascript實現的控制瀏覽器全屏效果 [JavaScript瀏覽器