Answers:
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editTextField.getWindowToken(), 0);
要么
在清单文件中的application标签中设置活动属性,如下所示
android:windowSoftInputMode="stateHidden"
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
在onCreate()中调用上述方法。除非用户通过选择EditText,否则它将阻止softKeyboard显示。
tapping or clicking.
或者只是在android:windowSoftInputMode="stateHidden"
中添加Activity标签Manifest.xml
拥有另一个视图焦点。默认情况下,当布局放大时,第一个可聚焦视图将获得焦点。您可以通过XML请求关注其他视图:
<TextView
android:layout_width="wrap_parent"
android:layout_height="wrap_content"
android:text="Some other view">
<requestFocus />
</TextView>
这适用于任何视图。
如果要以编程方式进行操作,可以使用view.requestFocus()
。
if(getWindow().getAttributes().softInputMode==WindowManager.LayoutParams.SOFT_INPUT_STATE_UNSPECIFIED)
{
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
}
edit
链接并进行更改。并且,请尝试通过选择代码并使用“代码示例”按钮{}
或按来格式化代码Ctrl+K
。
我还没有尝试过这个方法,也没有在编程计算机附近使用,但是我怀疑以编程方式将焦点发送到父视图,或者某种性质的方法可以解决问题,这很可能是一种解决方法,而不是解决方案,但又无法对其进行测试一个想法
.requestFocus();
按了一个按钮,键盘仍然弹出。
Formats: flag Values: adjustNothing, adjustPan, adjustResize, adjustUnspecified, stateAlwaysHidden, stateAlwaysVisible, stateHidden, stateUnchanged, stateUnspecified, stateVisible Specify the default soft-input mode for the main window of this activity. A value besides "unspecified" here overrides any value in the theme.