1

在一个 Android 应用程序中,我添加了对通过单击退出沉浸式视图的支持。我用

View.SYSTEM_UI_FLAG_VISIBLE

标志以确保片段被调整大小并且操作栏不会与片段重叠。

当您通过标准系统手势退出沉浸式视图时,操作栏会与片段重叠。我认为这是由于使用了“使用非粘性沉浸”下详述的标准标志,例如

// This snippet shows the system bars. It does this by removing all the flags
// except for the ones that make the content appear under the system bars.
private void showSystemUI() {
    mDecorView.setSystemUiVisibility(
        View.SYSTEM_UI_FLAG_LAYOUT_STABLE
        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
}

我想通过系统手势退出沉浸式,以与我的单击实现相同的方式运行。是否可以覆盖系统手势使用的系统 UI 标志?

4

1 回答 1

2

无法覆盖默认手势标志。

如果您想要在系统栏可见时调整片段大小,则应将 a 注册View.OnSystemUiVisibilityChangeListenermDecorView. 此侦听器将收到系统 UI 更改的通知。一旦您收到条可见的通知(无论是什么原因),您就可以进行必要的更改以调整片段的大小。有关如何使用侦听器的示例,请参阅https://developer.android.com/training/system-ui/visibility.html 。

于 2014-04-17T14:30:07.880 回答