編寫:K0ST - 原文:http://developer.android.com/training/system-ui/navigation.html
這節(jié)課將教您
本節(jié)課程將教您如何對導(dǎo)航欄進(jìn)行隱藏,這個特性是Android 4.0()版本中引入的。
即便本小節(jié)僅關(guān)注如何隱藏導(dǎo)航欄,但是在實際的開發(fā)中,你最好讓狀態(tài)欄與導(dǎo)航欄同時消失。在保證導(dǎo)航欄易于再次訪問的情況下,隱藏導(dǎo)航欄與狀態(tài)欄使內(nèi)容區(qū)域占據(jù)了整個顯示空間,因此可以提供一個更加沉浸式的用戶體驗。
http://wiki.jikexueyuan.com/project/android-training-geek/images/navigation-bar.png" alt="navigation-bar" />
圖1. 導(dǎo)航欄.
你可以在Android 4.0以及以上版本,使用SYSTEM_UI_FLAG_HIDE_NAVIGATION標(biāo)志來隱藏導(dǎo)航欄。這段代碼同時隱藏了導(dǎo)航欄和系統(tǒng)欄:
View decorView = getWindow().getDecorView();
// Hide both the navigation bar and the status bar.
// SYSTEM_UI_FLAG_FULLSCREEN is only available on Android 4.1 and higher, but as
// a general rule, you should design your app to hide the status bar whenever you
// hide the navigation bar.
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
注意以下幾點
SYSTEM_UI_FLAG_HIDE_NAVIGATION被清除。在Android 4.1與更高的版本中,你可以讓應(yīng)用的內(nèi)容顯示在導(dǎo)航欄的后面,這樣當(dāng)導(dǎo)航欄展示或隱藏的時候內(nèi)容區(qū)域就不會發(fā)生布局大小的變化??梢允褂?code>SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION標(biāo)簽來做到這個效果。同時,你也有可能需要SYSTEM_UI_FLAG_LAYOUT_STABLE這個標(biāo)簽來幫助你的應(yīng)用維持一個穩(wěn)定的布局。
當(dāng)你使用這種方法的時候,就需要你來確保應(yīng)用中特定區(qū)域不會被系統(tǒng)欄掩蓋。更詳細(xì)的信息可以瀏覽隱藏狀態(tài)欄一節(jié)。