android-layout - 当我打开微调器时,沉浸式全屏模式(粘性标志)被禁用

标签 android-layout android android-notification-bar

我正在使用带有粘性标志模式的沉浸式全屏模式,这四种模式中的第四种解释如下:https://developer.android.com/training/system-ui/immersive.html

我正在这样做:

    if( Build.VERSION.SDK_INT >= 19 ){      
        //si es mayor o igual a API 19 kitkat ocultamos las barras UI del sistema
        mainBody.setSystemUiVisibility(
                256 //SYSTEM_UI_FLAG_LAYOUT_STABLE
                | 512 //SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                | 1024 //SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                | 2 //SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar
                | 4 //SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
                | 4096 //SYSTEM_UI_FLAG_IMMERSIVE_STICKY
        );
    }

在我的 list 中,我在应用程序级别有以下内容:

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

它工作正常,但我的应用程序中有一个微调器,当我触摸微调器时,沉浸式模式会禁用! :S

如何解决这个问题?

谢谢

最佳答案

这里有同样的问题..另请参阅 https://code.google.com/p/android/issues/detail?id=68031

我最接近解决这个问题的方法是(在您的Activity中)添加全屏标志,并在关闭微调器后 Activity 获得焦点时再次设置全屏:

private void goFullScreen()
{
  // Only navigation will be shown when opening a spinner
  getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

  getWindow().getDecorView().setSystemUiVisibility(yourFlags);
}


@Override
protected void onResume()
{
  super.onResume();
  goFullScreen();
}


@Override
public void onWindowFocusChanged(boolean hasFocus)
{
  // Go full screen again when a spinner is closed
  if (hasFocus) {
    goFullScreen();
  }
}

是的,这是一个解决方法。我将看看扩展 Spinner

关于android-layout - 当我打开微调器时,沉浸式全屏模式(粘性标志)被禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28095607/

相关文章:

android - 如何对齐 ListView 列表项中的值?

android - Realm、copyFromRealm、从结果中排除关系

android - Urban Airship : custom icon for default status bar notification

android - Android Market 描述中的超链接

android - 我无法通过通知栏进入应用程序

android - GCM 通知 setAutoCancel(true) 在 Android 5.1.1 中不起作用

java - 在 java 代码中设置 RelativeLayout

java - 更改为横向模式应用程序无法正常工作

android studio 2.2.3设计页面

android - ViewPager(包含多个项目)- 如何始终将第一个和最后一个项目居中?