在应用程序加载时隐藏软键盘
我有一个应用程序,在主视图上有一个EditText
元素。 这意味着当我的应用程序加载时,软键盘默认显示。在应用程序加载时隐藏软键盘
我想能够隐藏加载的键盘, 所以它不显示,直到我点击EditText
视图。
我该如何管理?
你可以做些简单的事情。它添加到的LinearLayout(或任何其他布局是根):
<LinearLayout
...
android:focusable="true"
android:focusableInTouchMode="true"
...
/>
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
这将隐藏在所有情况下。
EditText edtView=(EditText)findViewById(R.id.editTextConvertValue);
edtView.setInputType((InputType.TYPE_NULL);
在你AndroidManifest.xml
:
<activity android:name="com.your.package.ActivityName"
android:windowSoftInputMode="stateHidden" />
更多windowSoftInputMode
细节可以发现here。
当用户输入新的Activity(即使EditText控件获得焦点)时,此设置将隐藏软键盘。软键盘仅在用户单击编辑框控件时才会显示。
这解决了所有我的问题......没有bug:曾为d – 2011-05-25 12:17:00
... ...精湛也许 – 2013-02-25 05:15:58
我不知道英语,那么你在哪里可以看到只在用户点击编辑框_时才显示的解释?该文档说:“_当用户选择活动时隐藏软键盘 - 也就是说,当用户肯定导航到活动时,而不是因为离开另一活动而背对此活动。”。不要误解我的意思。你的解释是完全清楚的。但是文档不是。 – 2018-02-27 13:20:15
接受的答案不适用于我,我已经有stateHidden集。这个建议很有效。我将它应用于XML布局,而不是在父视图组上使用android:focusable =“true”和android:focusableInTouchMode =“true”。 – 2012-01-05 22:49:16
这应该是被接受的答案。 – 2016-02-25 15:48:40