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