使用editText.setInputType(InputType.TYPE_NULL);可以实现点击EditText时不弹出软键盘,但是4.0之后的版本点击输入框时光标不显示,需要用到一个隐藏方法,这个方法在4.0版本叫setSoftInputShownOnFocus,到4.2又改成了setShowSoftInputOnFocus(坑爹啊这是),写了个方法兼容各个版本,仅供参考。


public void hideSoftInputMethod(EditText ed){        getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);                  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 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 (IllegalAccessException e) {                // TODO Auto-generated catch block                e.printStackTrace();            } catch (IllegalArgumentException e) {                // TODO Auto-generated catch block                e.printStackTrace();            } catch (InvocationTargetException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }          }      }


更多相关文章

  1. Android(安卓)版本区别
  2. 【Android】onInterceptTouchEvent 方法收不到ACTION_MOVE事件
  3. Android(安卓)Studio常见报错总结
  4. 查看当前Android版本RemoteViews支持的UI对象
  5. 使用adb时,为什么只有RockChip的ID需要加入到adb_usb.ini文件里呢
  6. android开始
  7. Android获取设备唯一ID的方法
  8. 快过年了,推荐款好应用
  9. 生成appcompat_v7(兼容包)并报错的解决方法

随机推荐

  1. Android(安卓)传感器用法
  2. 获取Android的APK包签名信息
  3. Android(安卓)Studio 关联项目软链接
  4. Android(安卓)Studio 获取数字签名信息(SH
  5. android flutter打包 apk 及接facebook
  6. Android(安卓)studio 编译失败Error:Coul
  7. Hierarchy Viewer 帮你分析应用程序UI布
  8. Android(安卓)批量读取APK 包名,版本信息
  9. [Android(安卓)Studio导入第三方类库方法
  10. Android(安卓)Studio 引入 Fresco