在Android中使用沉浸式模式的麻烦

时间:2014-12-18 15:23:26

标签: java android

我正在开发一个可以有两种模式的应用程序:带操作栏和全屏的默认模式。用户可以从默认模式切换到全屏模式并返回。  现在我想隐藏在Android KitKat和更早版本下运行的选项卡上的软件系统按钮。为此,我使用沉浸式模式。当用户切换到全屏模式时,我正在运行此代码:

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 // hide nav bar
        | View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
        | View.SYSTEM_UI_FLAG_IMMERSIVE);

当用户切换回正常模式时,我正在运行此代码:

 mDecorView.setSystemUiVisibility(
        View.SYSTEM_UI_FLAG_LAYOUT_STABLE
        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);

第一个问题在于,当我切换到沉浸式模式时,我的视图没有调整大小,我可以看到窗口的背景而不是软件按钮(图1)。

enter image description here

第二个问题是,当我从全屏模式切换回默认模式时,我的视图也没有调整大小,操作栏和软件按钮溢出了我的视图。 (图2)

enter image description here

0 个答案:

没有答案