在android中隐藏软键,即使在应用程序运行过程中用户交互时也不显示软键

在android中隐藏软键,即使在应用程序运行过程中用户交互时也不显示软键,android,android-activity,hide,show-hide,Android,Android Activity,Hide,Show Hide,注意:请不要重复关闭此问题,因为其他答案仅隐藏软键栏[底部有3个控制按钮的导航栏],直到没有用户交互为止 嗨, 我正在开发一个画图应用程序,在这个程序中,用户可以像MS画图一样画图 要使用用户屏幕的全部状态,我希望在用户绘制或绘制任何内容时隐藏软键栏 因此,我知道如何隐藏软键栏,但在用户交互[任何交互]时,软键栏会出现在屏幕上。[棒棒糖前] 是否有任何方法可以隐藏软键栏,它们仅在用户退出应用程序后显示。[我想我已经在一些比赛中看到了这种情况] 注意:在某个地方还提到,操作系统会显示软键栏,这样一

注意:请不要重复关闭此问题,因为其他答案仅隐藏软键栏[底部有3个控制按钮的导航栏],直到没有用户交互为止

嗨, 我正在开发一个画图应用程序,在这个程序中,用户可以像MS画图一样画图

要使用用户屏幕的全部状态,我希望在用户绘制或绘制任何内容时隐藏软键栏

因此,我知道如何隐藏软键栏,但在用户交互[任何交互]时,软键栏会出现在屏幕上。[棒棒糖前]

是否有任何方法可以隐藏软键栏,它们仅在用户退出应用程序后显示。[我想我已经在一些比赛中看到了这种情况]

注意:在某个地方还提到,操作系统会显示软键栏,这样一些愚蠢的应用程序就不会破坏用户体验

任何线索都将不胜感激

更新: 1.这是我之前遵循的链接:

  • 软键栏是指屏幕底部的导航栏,如第1点中的问题所示

  • 谢谢。

    使用InputMethodManager隐藏键盘,并将EditText Focusable设置为False即可。下面的代码将隐藏键盘并将EditText focusable设置为False

     editText1.setFocusable(false);
     InputMethodManager imm = (InputMethodManager)getSystemService(
                                  Context.INPUT_METHOD_SERVICE);
     imm.hideSoftInputFromWindow(editText1.getWindowToken(), 0);
    
    要使EditText再次可编辑,请使用

    editText1.setFocusableInTouchMode(true);
    editText1.setFocusable(true);
    
    1) 对清单中您不想看到Android键盘的活动执行此操作:

    android:windowSoftInputMode="stateAlwaysHidden|adjustResize" 
    android:configChanges="orientation|keyboardHidden"
    
    2) 对于具有点击式和焦点式侦听器(如编辑文本)的视图,重写Android的这些方法回调:

    上面的焦点检查在焦点更改方法和onclick中执行,并在onTouch中调用view.perform()

    就是这样,你可以随时躲起来

     public void hideSoftKeyboard() {
        if (getCurrentFocus() != null) {
            InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
            inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
        }
    }
    

    使用此方法隐藏有焦点的键盘。

    当键盘打开时???@AnkitKumar抱歉,我没有正确理解您的问题。如果您询问软键何时打开,答案是任何用户交互。即使我触摸屏幕,软键也会出现在屏幕上,应用程序的状态也会降低。我也更新了问题。请检查。你解决这个问题了吗?嗨,我更新了问题,基本上我想隐藏屏幕底部的导航栏。你能给我一些建议吗?当然,我也需要解决“在屏幕底部隐藏导航栏”的问题。。
     public void hideSoftKeyboard() {
        if (getCurrentFocus() != null) {
            InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
            inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
        }
    }