190409 Android - Full Screen

Android 全螢幕,依以下網頁說明,使用以下程式碼,在 Android 7.0 上是可以達到全螢幕顯示。
https://developer.android.com/training/system-ui/status.html
getWindow().setFlags(
            WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN );

 


——————————————————————————— 這條線以下是 190409 所寫的

今天要處理的是 Android 的全螢幕顯示。

官方文章連結如下
Enable fullscreen mode

Android offers three options to making your app fullscreen: Lean Back, Immersive, and Immersive Sticky.
Android 提供三種方式讓您的應用程式可以全螢幕顯示:
1. Lean Back(影片觀賞用、適合於與裝置間不需太多的互動之情境下)
2. Immersive(身歷其境、沉浸式、適合於與裝置間需大量的互動之情境下)
3. Immersive Sticky(進階身歷其境、當應用程式會用到從螢幕邊緣滑動的操作方式時使用)

其實我只是要在 App 一開啟時,以全螢幕顯示 Logo。

先來試試第一種 Lean Back
getWindow().getDecorView().setSystemUiVisibility( View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION )
我的測試機為 Android 7.0,使用 Lean Back 時,輕輕碰螢幕,系統狀態列就跑出來,再也回不到全螢幕。所以 Lean Back 不是目前想要的模式。


再來試第二種 Immersive
加上 View.SYSTEM_UI_FLAG_IMMERSIVE 後,輕觸螢幕,不會再跑出系統狀態列了。


為了畫面美觀,我們再把最上面的標題列拿掉。

android:theme="@style/Theme.AppCompat.NoActionBar"
———————————————————————————————————————

需求是 Logo 畫面顯示 1 秒後,進入下一個畫面。

而下個畫面中有來自 Server 的資料。

目前決議,在 onCreate 的最後,先 schedule Timer,再起連網 thread。

Timer 使用的是 TimerTask。

———————————————————————————————————————

剛剛程式寫到一半,才發現 View.SYSTEM_UI_FLAG_FULLSCREEN 與
View.SYSTEM_UI_FLAG_IMMERSIVE 要 API 16 (Android 4.1.x)以上才能用,目前的專案都設定在 4.0.3,所以只能用傳統方法。


getWindow().setFlags( WindowManager.LayoutParams.FLAG_FULLSCREEN,
        WindowManager.LayoutParams.FLAG_FULLSCREEN );

留言

這個網誌中的熱門文章

泰文子音與字形之間的變化

AUTOMAXX UP-5HX 使用心得