如何在显示软键盘后禁止android导航栏出现

如何在显示软键盘后禁止android导航栏出现,android,keyboard,android-actionbar,Android,Keyboard,Android Actionbar,我研究发现,有几次试图禁止软键盘在屏幕上显示导航栏。。。无济于事。但我也遇到了一个次要问题。我在基本活动的OnResume()中使用了常用的“沉浸式模式” 但这段代码似乎被“覆盖”了,因为在调用新启动的活动的OnResume()之后,键盘消失(当所属活动消失时)。由于软键盘的默认行为(即显示键盘,显示状态/导航栏),因此状态/导航栏仍处于活动状态。最好的处理方法是什么?我想让该死的条一直消失。好吧,在is开始我的下一个活动之前,我想通过在拥有的活动中明确删除软键盘来处理它。这似乎允许OnResu

我研究发现,有几次试图禁止软键盘在屏幕上显示导航栏。。。无济于事。但我也遇到了一个次要问题。我在基本活动的OnResume()中使用了常用的“沉浸式模式”


但这段代码似乎被“覆盖”了,因为在调用新启动的活动的OnResume()之后,键盘消失(当所属活动消失时)。由于软键盘的默认行为(即显示键盘,显示状态/导航栏),因此状态/导航栏仍处于活动状态。最好的处理方法是什么?我想让该死的条一直消失。

好吧,在is开始我的下一个活动之前,我想通过在拥有的活动中明确删除软键盘来处理它。这似乎允许OnResume()中的设置保持不变。 视图=当前焦点; 如果(视图!=null){ InputMethodManager imm=(InputMethodManager)GetSystemService(InputMethodService); imm.HideSoftInputFromWindow(view.WindowToken,0); }

希望这能节省一些时间。如果你有更好的办法,我洗耳恭听

    public void HideTheDarnBars()
    {
        View decorView = Window.DecorView;
        var uiOptions = (int)decorView.SystemUiVisibility;
        uiOptions |= (int)SystemUiFlags.Fullscreen;
        uiOptions |= (int)SystemUiFlags.HideNavigation;
        uiOptions |= (int)SystemUiFlags.ImmersiveSticky;
        uiOptions |= (int)SystemUiFlags.LayoutFullscreen;
        uiOptions |= (int)SystemUiFlags.LayoutHideNavigation;
        decorView.SystemUiVisibility = (StatusBarVisibility)uiOptions;
    }