当软键盘出现时,状态栏出现,但是当进入沉浸模式时软键盘消失时不会隐藏状态栏

最初,我使用下面的代码将我的Activity设置为Immersive Mode:

View decorView = getWindow().getDecorView(); decorView.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 | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); 

一切正常,直到用户点击一个EditText并出现软键盘。 它会导致状态栏粘在顶部,即使软键盘消失后也不会再隐藏。 奇怪的是,我只在LG /三星手机上遇到这个问题,索尼手机对此没有任何问题。 任何人有这个想法吗?

  • 调整Resize不在棒棒糖和以上半透明状态/ Nav工作
  • TextInputLayout和EditText双提示问题
  • Android 8.0奥利奥崩溃对焦TextInputEditText
  • android:TextInputLayout隐藏drawText的子EditText
  • 自定义EditText在通过setInputType()设置其inputtypes后无法工作
  • 在onEditorAction()中的null keyevent和actionid = 0(Jelly Bean / Nexus 7)
  • 如果我应用背景,如何返回EditText上的默认样式?
  • 在Emulator(GenyMotion)Android 4.3中显示EditText的键盘
  • 使用像这样的沉浸式模式。

     @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); immersiveMode(); getWindow().getDecorView().setOnSystemUiVisibilityChangeListener (new View.OnSystemUiVisibilityChangeListener() { @Override public void onSystemUiVisibilityChange(int visibility) { immersiveMode(); } }); } 

    这是您的沉浸式模式function。

     public void immersiveMode() { final View decorView = getWindow().getDecorView(); decorView.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 | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE); } 

    OnResume()中调用immersiveMode () ; 当您的软键盘消失后,状态栏将消失。