3 回答

TA貢獻1797條經(jīng)驗 獲得超4個贊
做這個。
public void FullScreencall() {
if(Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) { // lower api
View v = this.getWindow().getDecorView();
v.setSystemUiVisibility(View.GONE);
} else if(Build.VERSION.SDK_INT >= 19) {
//for new api versions.
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
decorView.setSystemUiVisibility(uiOptions);
}
}
這可以100%起作用,并且即使API的版本太晚,您也可以對較低的API版本執(zhí)行相同的操作,我希望它將對其他人有所幫助。
如果您希望這是永久的,只需FullscreenCall()在您的onResume()方法內(nèi)部調(diào)用。

TA貢獻1780條經(jīng)驗 獲得超5個贊
根據(jù)Android開發(fā)者網(wǎng)站
我認為您不能(據(jù)我所知)永久隱藏導(dǎo)航欄。
但是,您可以做一招。這是一個技巧。
只是當(dāng)navigation bar用戶觸摸屏幕時出現(xiàn)。立即將其再次隱藏。很有趣。
檢查一下。
void setNavVisibility(boolean visible) {
int newVis = SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| SYSTEM_UI_FLAG_LAYOUT_STABLE;
if (!visible) {
newVis |= SYSTEM_UI_FLAG_LOW_PROFILE | SYSTEM_UI_FLAG_FULLSCREEN
| SYSTEM_UI_FLAG_HIDE_NAVIGATION;
}
// If we are now visible, schedule a timer for us to go invisible.
if (visible) {
Handler h = getHandler();
if (h != null) {
h.removeCallbacks(mNavHider);
if (!mMenusOpen && !mPaused) {
// If the menus are open or play is paused, we will not auto-hide.
h.postDelayed(mNavHider, 1500);
}
}
}
// Set the new desired visibility.
setSystemUiVisibility(newVis);
mTitleView.setVisibility(visible ? VISIBLE : INVISIBLE);
mPlayButton.setVisibility(visible ? VISIBLE : INVISIBLE);
mSeekView.setVisibility(visible ? VISIBLE : INVISIBLE);
}
- 3 回答
- 0 關(guān)注
- 1482 瀏覽
添加回答
舉報