Android 沉浸式模式與常見狀態(tài)欄和導(dǎo)航欄效果

Android沉浸式模式

官方稱沉浸式狀態(tài)欄為沉浸式模式车吹。

  • 什么是沉浸式宦焦?
    沉浸式就是讓人專注當前的(由設(shè)計者營造)情境下感到愉悅和滿足博秫,而忘記真實的情境督怜。

  • 什么是Android中的沉浸式丘跌?
    當啟用該模式袭景,應(yīng)用程序的界面將占據(jù)整個屏幕,自動隱藏系統(tǒng)的狀態(tài)欄和導(dǎo)航欄闭树,讓應(yīng)用程序內(nèi)容可以在最大顯示范圍呈現(xiàn)耸棒,增加大屏體驗,而當需要查看通知的時候只需要從頂部向下滑動就能呼出通知欄蔼啦。

  • 一個應(yīng)用程序界面有有如下元素:


  • 而打造沉浸式模式的用戶體驗就是要將這些系統(tǒng)元素全部隱藏榆纽,只留下主題內(nèi)容部分。先看一下效果圖:


進入程序時捏肢,自動隱藏了狀態(tài)欄和導(dǎo)航欄奈籽。當用戶從頂部向下滑動就能呼出半透明的狀態(tài)欄和導(dǎo)航欄。

具體代碼如下:

public class MainActivity extends AppCompatActivity {
    
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    
    public void onWindowFocusChanged(boolean hasFocus) {
        super.onWindowFocusChanged(hasFocus);

        View mDecorView = getWindow().getDecorView();

        mDecorView.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 // hide nav bar
                        | View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
                        | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
        );
    }

}
  • 上面使用的SYSTEM_UI_FLAG_IMMERSIVE_STICKY官方稱為粘性沉浸式模式鸵赫。View.SYSTEM_UI_FLAG_IMMERSIVE為非粘性沉浸式衣屏,非粘性沉浸式狀態(tài)欄和導(dǎo)航欄顯示后不再自動隱藏。

注意:onWindowFocusChanged方法里面的代碼不能直接寫在onCreate方法中辩棒,如果這么寫當應(yīng)用處于后臺Stoped狀態(tài)狼忱,下次啟動應(yīng)用便執(zhí)行不到處理沉浸式的代碼。Activity生命周期中一睁,真正的visible時間點是onWindowFocusChanged()函數(shù)被執(zhí)行時钻弄,所以我們將這段代碼寫在這個方法中。

可以參考官方文檔:https://developer.android.google.cn
中文翻譯版:http://hukai.me/android-training-course-in-chinese

其他常見狀態(tài)欄和導(dǎo)航欄效果

  • 隱藏ActionBar
ActionBar actionBar = getSupportActionBar();
actionBar.hide();

上面的代碼需要在放在setContentView方法之前者吁,否則會出現(xiàn)ActionBar顯示后再隱藏窘俺。如果整個應(yīng)用沒有用到ActionBar我們可以直接在AndroidManifest.xml中將application的theme設(shè)置為NoActionBar,如果只是某個activity不用也可以將這個activity的theme設(shè)置為NoActionBar复凳。

<activity android:name=".MainActivity"
     android:theme="@style/Theme.AppCompat.Light.NoActionBar">
     <intent-filter>
           <action android:name="android.intent.action.MAIN"/>
         <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>
</activity>

效果圖如下:

  • 透明狀態(tài)欄和導(dǎo)航欄
//透明狀態(tài)欄和導(dǎo)航欄瘤泪,隱藏ActionBar
getSupportActionBar().hide();

getWindow().getDecorView().setSystemUiVisibility(
    View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);

getWindow().setNavigationBarColor(Color.TRANSPARENT);
getWindow().setStatusBarColor(Color.TRANSPARENT);

效果圖如下:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末灶泵,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子对途,更是在濱河造成了極大的恐慌赦邻,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件实檀,死亡現(xiàn)場離奇詭異惶洲,居然都是意外死亡,警方通過查閱死者的電腦和手機劲妙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門湃鹊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來儒喊,“玉大人镣奋,你說我怎么就攤上這事』忱ⅲ” “怎么了侨颈?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長芯义。 經(jīng)常有香客問我哈垢,道長,這世上最難降的妖魔是什么扛拨? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任耘分,我火速辦了婚禮,結(jié)果婚禮上绑警,老公的妹妹穿的比我還像新娘求泰。我一直安慰自己,他們只是感情好计盒,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布渴频。 她就那樣靜靜地躺著,像睡著了一般北启。 火紅的嫁衣襯著肌膚如雪卜朗。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天咕村,我揣著相機與錄音场钉,去河邊找鬼。 笑死懈涛,一個胖子當著我的面吹牛逛万,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播肩钠,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼泣港,長吁一口氣:“原來是場噩夢啊……” “哼暂殖!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起当纱,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤呛每,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后坡氯,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體晨横,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年箫柳,在試婚紗的時候發(fā)現(xiàn)自己被綠了手形。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡悯恍,死狀恐怖库糠,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情涮毫,我是刑警寧澤瞬欧,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站罢防,受9級特大地震影響艘虎,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜咒吐,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一野建、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧恬叹,春花似錦候生、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至绪励,卻和暖如春肿孵,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背疏魏。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工停做, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人大莫。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓蛉腌,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子烙丛,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容