Android EditText获取焦点后只显示光标不弹出软键盘
直接说结论
如果你项目适配的最小版本大于等于21
binding.newPesticideEditCodeEt.setShowSoftInputOnFocus(false);
如果你项目适配的最小版本小于21
public void disableShowInput(EditText et) {
Class<EditText> cls = EditText.class;
Method method;
try {
method = cls.getMethod("setShowSoftInputOnFocus", boolean.class);
method.setAccessible(true);
method.invoke(et, false);
} catch (Exception e) {
}
}
参考博客中的代码分析
public void disableShowInput(EditText et) {
Class<EditText> cls = EditText.class;
Method method;
try {
method = cls.getMethod("setShowSoftInputOnFocus", boolean.class);
method.setAccessible(true);
method.invoke(et, false);
} catch (Exception e) {
}
try {
method = cls.getMethod("setSoftInputShownOnFocus", boolean.class);
method.setAccessible(true);
method.invoke(et, false);
} catch (Exception e) {
}
}
设置启动某个Activity时,不弹出软键盘
- 在
Manifests
文件中对该Activity设置如下
android:windowSoftInputMode="stateAlwaysHidden"