W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
編寫:K0ST - 原文:http://developer.android.com/training/system-ui/navigation.html
這節(jié)課將教您
- 在4.0及以上版本中隱藏導(dǎo)航欄
- 讓內(nèi)容顯示在導(dǎo)航欄之后
本節(jié)課程將教您如何對(duì)導(dǎo)航欄進(jìn)行隱藏,這個(gè)特性是Android 4.0()版本中引入的。
即便本小節(jié)僅關(guān)注如何隱藏導(dǎo)航欄,但是在實(shí)際的開發(fā)中,你最好讓狀態(tài)欄與導(dǎo)航欄同時(shí)消失。在保證導(dǎo)航欄易于再次訪問(wèn)的情況下,隱藏導(dǎo)航欄與狀態(tài)欄使內(nèi)容區(qū)域占據(jù)了整個(gè)顯示空間,因此可以提供一個(gè)更加沉浸式的用戶體驗(yàn)。
圖1. 導(dǎo)航欄.
在4.0及以上版本中隱藏導(dǎo)航欄
你可以在Android 4.0以及以上版本,使用
SYSTEM_UI_FLAG_HIDE_NAVIGATION
標(biāo)志來(lái)隱藏導(dǎo)航欄。這段代碼同時(shí)隱藏了導(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);
注意以下幾點(diǎn)
- 使用這個(gè)方法時(shí),觸摸屏幕的任何一個(gè)區(qū)域都會(huì)使導(dǎo)航欄(與狀態(tài)欄)重新顯示。用戶的交互會(huì)使這個(gè)標(biāo)簽
SYSTEM_UI_FLAG_HIDE_NAVIGATION
被清除。- 一旦這個(gè)標(biāo)簽被清除了,如果你想再次隱藏導(dǎo)航欄,你就需要重新對(duì)這個(gè)標(biāo)簽進(jìn)行設(shè)定。在下一節(jié)響應(yīng)UI可見(jiàn)性的變化中,將詳細(xì)講解應(yīng)用監(jiān)聽系統(tǒng)UI變化來(lái)做出相應(yīng)的調(diào)整操作。
- 在不同的地方設(shè)置UI標(biāo)簽是有所區(qū)別的。如果你在Activity的onCreate()方法中隱藏系統(tǒng)欄,當(dāng)用戶按下home鍵系統(tǒng)欄就會(huì)重新顯示。當(dāng)用戶再重新打開activity的時(shí)候,onCreate()不會(huì)被調(diào)用,所以系統(tǒng)欄還會(huì)保持可見(jiàn)。如果你想讓在不同Activity之間切換時(shí),系統(tǒng)UI保持不變,你需要在onReasume()與onWindowFocusChaned()里設(shè)定UI標(biāo)簽。
- setSystemUiVisibility()僅僅在被調(diào)用的View顯示的時(shí)候才會(huì)生效。
- 當(dāng)從View導(dǎo)航到別的地方時(shí),用setSystemUiVisibility()設(shè)置的標(biāo)簽會(huì)被清除。
2)讓內(nèi)容顯示在導(dǎo)航欄之后
在Android 4.1與更高的版本中,你可以讓應(yīng)用的內(nèi)容顯示在導(dǎo)航欄的后面,這樣當(dāng)導(dǎo)航欄展示或隱藏的時(shí)候內(nèi)容區(qū)域就不會(huì)發(fā)生布局大小的變化??梢允褂?code>SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION標(biāo)簽來(lái)做到這個(gè)效果。同時(shí),你也有可能需要
SYSTEM_UI_FLAG_LAYOUT_STABLE
這個(gè)標(biāo)簽來(lái)幫助你的應(yīng)用維持一個(gè)穩(wěn)定的布局。當(dāng)你使用這種方法的時(shí)候,就需要你來(lái)確保應(yīng)用中特定區(qū)域不會(huì)被系統(tǒng)欄掩蓋。更詳細(xì)的信息可以瀏覽隱藏狀態(tài)欄一節(jié)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: