// 隐藏系统键盘
public void hideSoftInputMethod(EditText ed){
int currentVersion = android.os.Build.VERSION.SDK_INT;
String methodName = null;
if(currentVersion >= 16){
// 4.2
methodName = "setShowSoftInputOnFocus";
}
else if(currentVersion >= 14){
// 4.0
methodName = "setSoftInputShownOnFocus";
}
if(methodName == null){
ed.setInputType(InputType.TYPE_NULL);
}
else{
Class<EditText> cls = EditText.class;
Method setShowSoftInputOnFocus;
try {
setShowSoftInputOnFocus = cls.getMethod(methodName, boolean.class);
setShowSoftInputOnFocus.setAccessible(true);
setShowSoftInputOnFocus.invoke(ed, false);
} catch (NoSuchMethodException e) {
ed.setInputType(InputType.TYPE_NULL);
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}EditText点击不弹出系统键盘,显示光标
最新推荐文章于 2023-05-10 11:29:39 发布
本文介绍了一种在不同Android版本中隐藏软键盘的方法。通过检查设备的API级别来选择合适的方法调用,对于API级别16及更高版本使用setShowSoftInputOnFocus方法,而对于API级别14至15则采用setSoftInputShownOnFocus方法。如果这些方法不可用,则将输入类型设置为TYPE_NULL以确保键盘被隐藏。
3361

被折叠的 条评论
为什么被折叠?



