我想为我的整个应用程序禁用键盘,即键盘不得出现在我的应用程序的任何阶段,我的应用程序包含WebView以及我在此时加载的输入字段我不会&#39 ; t想要android键盘,因为该页面本身包含单击输入字段时打开的键盘。我所知道的是
InputMethodManager inputManager = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(getActivity().getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
但是当我点击edittext键盘时,使用此代码打开。
答案 0 :(得分:1)
为你的xml代码(EditText)添加focusable:false,它将完成工作
答案 1 :(得分:0)
禁用above API 11
,如下所示
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { // API 21
editText.setShowSoftInputOnFocus(false);
} else { // API 11-20
editText.setTextIsSelectable(true);
}
答案 2 :(得分:0)
在androidManifest.xml
中将此行放在activity
android:windowSoftInputMode="stateAlwaysHidden"
喜欢这个
<activity
android:name="com.app.thumbpin.activity.HomeActivity"
android:windowSoftInputMode="stateAlwaysHidden" />
并在每个EditText
android:focusable="false"
中使用,如下所示
<EditText
android:id="@+id/EditTextInput"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:focusable="false"
android:gravity="right"
android:cursorVisible="true">
</EditText>
以参数方式隐藏键盘
((InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(editText.getWindowToken(), 0);
在xml中:
在根布局标记中写android:descendantFocusability="blocksDescendants"
。
答案 3 :(得分:0)
尝试,
创建自己的扩展EditText的类并覆盖onCheckIsTextEditor()
public class CustomEditText extends EditText {
public NoImeEditText(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onCheckIsTextEditor() {
return false;
}
}
在布局XML中,使用对自定义控件的完全限定引用,而不是EditText:
<com.yourpackge.path.CustomEditText
........
enter code here
.....................
/>
它将禁用所有EditText的软键盘焦点。