【发布时间】:2011-09-01 15:16:38
【问题描述】:
我有一个应用程序,主视图上有一个EditText 元素。
这意味着当我的应用程序加载时,默认情况下会出现软键盘。
我希望能够在加载时隐藏键盘,
所以在我点击EditText 视图之前它不会显示。
我该如何管理?
【问题讨论】:
标签: android keyboard load hide android-edittext
我有一个应用程序,主视图上有一个EditText 元素。
这意味着当我的应用程序加载时,默认情况下会出现软键盘。
我希望能够在加载时隐藏键盘,
所以在我点击EditText 视图之前它不会显示。
我该如何管理?
【问题讨论】:
标签: android keyboard load hide android-edittext
在你的AndroidManifest.xml:
<activity android:name="com.your.package.ActivityName"
android:windowSoftInputMode="stateHidden" />
更多关于windowSoftInputMode的信息可以在here找到。
当用户进入新的 Activity 时,此设置将隐藏软键盘(即使 EditText 控件获得焦点)。只有当用户点击编辑框控件时才会显示软键盘。
【讨论】:
你可以做一些更简单的事情。将此添加到 LinearLayout(或任何其他作为根的布局):
<LinearLayout
...
android:focusable="true"
android:focusableInTouchMode="true"
...
/>
【讨论】:
InputMethodManager imm =
(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
这将在所有情况下隐藏(即使 EditView 具有焦点):
EditText editView = (EditText) findViewById(R.id.editTextConvertValue);
editView.setInputType(InputType.TYPE_NULL);
【讨论】: