close

我們的app常常需要更多的空間來實現我們的畫面設計
但手機就這麼一個大小該怎麼辦呢?
讓我們來看看全螢幕的作法吧
這裡有兩個方法,不過也可同時使用

其實滿簡單的
在Style.xml設定自己的Activity Theme

<resources>
    <style name="myTheme" 
           parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark
    </item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
    </style>
</resources>

第一句是extends NoActionBar的Theme
接下來的三句是顏色的設定
後面的兩句就是我們的主要重點了
以取消Title 和 ActionBar 來達到全螢幕的目的

接下來再AndroidManifest.xml中加入

<activity android:name=".ui.MainActivity"
    android:theme="@style/myTheme"/>

設定Activity 的 Theme 為剛剛我們增加的myTheme
此為方法一,但會有狀態的時間條

方法二為在Activity的程式碼中加入這段

@Override
protected void onResume() {
    super.onResume();
    getWindow().getDecorView().setSystemUiVisibility(
            View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_FULLSCREEN
                | View.SYSTEM_UI_FLAG_IMMERSIVE);
}

大家如果不知道意思
我們可以增加或減少某項Flag再run出來看變化就會懂了
以下為各Flag的作用

 

View.SYSTEM_UI_FLAG_LAYOUT_STABLE API 16
保持整个View稳定, 常和控制System UI悬浮, 隐藏的Flags共用, 使View不会因为System UI的变化而重新layout

 

View.SYSTEM_UI_FLAG_FULLSCREEN API 16
隱藏狀態列

 

View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN API 16
view延伸到狀態列區域,而狀態列會浮在view上方


View.SYSTEM_UI_FLAG_HIDE_NAVIGATION API 14
隱藏導航欄

 

View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION API 16
view延伸到導航欄區域,而導航欄會浮在view上方

 

View.SYSTEM_UI_FLAG_IMMERSIVE API 19
沉浸模式,隱藏狀態列和導航欄,並在第一次會彈泡提醒,且在狀態列滑動可以叫出狀態列
需和下面兩個Flag其一或同時使用才能生效
1、View.SYSTEM_UI_FLAG_FULLSCREE
2、View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
(不過系統會清除之前設定的View.SYSTEM_UI_FLAG_FULLSCREEN & View.SYSTEM_UI_FLAG_HIDE_NAVIGATION)

View.SYSTEM_UI_FLAG_IMMERSIVE_STIKY API 19
與上一個的區別就是
系統不會清除之前設定的View.SYSTEM_UI_FLAG_FULLSCREEN & View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
而是過一段時間後再次隱藏

點我看官網資料

 

參考資料:
https://developer.android.com/training/system-ui/immersive.html#sticky

 

 

 

 

 

 

 


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 顏澤偉 的頭像
    顏澤偉

    Willy's Fish教學筆記』

    顏澤偉 發表在 痞客邦 留言(0) 人氣()