使用下面的代碼是做隱藏導航
getWindow().getDecorView()
.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
的一種方式,但上述問題只要用戶觸摸屏幕,它就會變得可見。
在Android Kitkat中有一項名爲IMMERSIVE
的功能,它隱藏了通知欄和導航。即使用戶與屏幕交互,它也不會顯示。但是,用戶可以通過從屏幕頂部向下滑動來使其可見。下面是代碼來實現它
//Initializew this in onCreate()
View mDecorView = getWindow().getDecorView();
//Then call this function
private void hideSystemUI() {
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
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_LOW_PROFILE
| View.SYSTEM_UI_FLAG_IMMERSIVE);
}
但是在我的情況下,我從來沒有想過的導航和通知欄是即使用戶從屏幕底部的頂部刷卡可見。我試了一下,我能夠部分實現它。我所做的是我實施了一個CountDownTimer
,每秒鐘撥打hideSystemUI()
。我知道這不是做這件事的最好方式。但我沒有得到任何其他解決方案來做到這一點。
如果有人獲得任何那麼請讓我知道如何永久隱藏導航和通知欄:)希望這個答案可以幫助一些一在未來:)
觀看視頻this更好地瞭解有關此功能。
可能重複?這是一個內部設備,我正在管理導航](http://stackoverflow.com/questions/5109988/is-there-a-way-to-hide-the-system-bar-in-android-3-0-它的內部設備an) - Honeycomb的答案仍然適用於ICS – WarrenFaith 2012-03-29 13:54:31
看起來Honeycomb和ICS WRT System Bar之間存在顯着差異。請參閱http://android.serverbox.ch/?p=306,特別是2011年12月29日17:20 – user316117 2012-04-10 16:44:47
的回覆他指出4.0及以上。 Google的虛擬現實技術已經導致了一種新的模式,存在於4.4 請參閱下面關於沉浸模式的評論。 https://developer.android.com/training/system-ui/immersive.html – 2015-02-03 02:09:12