覆盖退出沉浸式视图系统手势使用的系统UI可见性标志

时间:2014-04-08 21:10:26

标签: android android-4.4-kitkat android-fullscreen

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

View.SYSTEM_UI_FLAG_VISIBLE

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

当您通过标准系统手势退出沉浸式视图时,操作栏会重叠片段。我认为这是因为使用了“使用非粘性浸入”中的标准标记here,例如。

// 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标志?

1 个答案:

答案 0 :(得分:2)

无法覆盖默认手势标记。

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