APP開發實戰166-全屏模式的功能設計

30.14 全屏模式的功能設計

    APP的許多場景需要全屏展示內容,如播放視頻、瀏覽圖片和閱讀書籍時等場景。從Android4.4開始,Android系統提供了2種方案讓APP進入全屏模式:Lean Back和Immersive。使用這2種方案時,Action Bar、Status Bar和Navigation Bar都會被隱藏,不同之處在於讓它們再重新顯示出來的操作方式。

30.14.1 Lean Back

    這種方案常用於用戶不會與屏幕大量交互的場景,如用戶播放視頻時。使用這種方法,如用戶需要顯示Action Bar、Status Bar和Navigation Bar時,點擊屏幕的任何地方,Action Bar、Status Bar和Navigation Bar都會被顯示。示意圖如下:

實現代碼:

View flagsView =getWindow().getDecorView();

int uiOptions = flagsView.getSystemUiVisibility();
uiOptions |= View.SYSTEM_UI_FLAG_FULLSCREEN;
uiOptions |= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
uiOptions &= ~View.SYSTEM_UI_FLAG_IMMERSIVE;
flagsView.setSystemUiVisibility(uiOptions);

30.14.2 Immersive

    這種方案常用於用戶與屏幕大量交互的場景,如玩遊戲、在畫廊中瀏覽圖片或閱讀書籍時。使用這種方法,如用戶需要顯示Action Bar、Status Bar和Navigation Bar時,需要使用手指從屏幕底部向上滑動,或從屏幕頂部向下滑動,這樣Action Bar、Status Bar和Navigation Bar纔會被顯示。示意圖如下:

這種方案可以避免用戶無意中碰到屏幕,就退出全屏模式的情況發生。但這樣可能導致有些用戶不知道怎樣退出全屏模式,所以最好在用戶使用APP第一次進入全屏模式時,給用戶提示怎樣才能退出全屏模式。

實現代碼:

View flagsView =getWindow().getDecorView();

int uiOptions = flagsView.getSystemUiVisibility();
uiOptions |= View.SYSTEM_UI_FLAG_FULLSCREEN;
uiOptions |= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
uiOptions |= View.SYSTEM_UI_FLAG_IMMERSIVE;
flagsView.setSystemUiVisibility(uiOptions);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章