我不會談論「爲什麼」,只是「如何」 :-)
所以,關於
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
這不會影響平板電腦設備,它使用一個系統吧,而比單獨的導航 和狀態欄。
在平板電腦,你可以嘗試(API等級14以後)
myView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);
要檢測的事件,我想你可以使用它來捕捉事件:
myView.setOnSystemUiVisibilityChangeListener(
new OnSystemUiVisibilityChangeListener()
{
public void onSystemUiVisibilityChange(int visibility)
{
if (visibility == View.SYSTEM_UI_FLAG_VISIBLE) {
// TODO whatever you want
}
else {
// TODO what to do in the other case
}
}
}
);
更一般地,在這裏是來自「專業Android 4應用程序開發」的額外建議
通常會同步其他更改在您的 用戶界面中,導航可見性發生變化。例如,您可以選擇 來隱藏和顯示基於進入和退出「全屏模式」的操作欄和其他導航控件 。您可以通過 將OnSystemUiVisibilityChangeListener註冊到您的View - 一般來說,View是使用控制導航知名度
。
它會影響平板設備。系統欄隱藏,直到第一次觸摸發生。 – gorootde