android editText 获取焦点时隐藏软键盘同时显示光标
相信很多开发者在自定义数字键盘输入面板的时候希望隐藏系统软键盘,网上很多方法可以做到隐藏软键盘,但是光标也被隐藏掉了,这点用户感受不好。其实可以通过反射的方式实现隐藏软键盘的同时显示光标,代码如下
try { Class<EditText> cls = EditText.class; Method setSoftInputShownOnFocus; setSoftInputShownOnFocus = cls.getMethod( "setSoftInputShownOnFocus", boolean.class); setSoftInputShownOnFocus.setAccessible(true); setSoftInputShownOnFocus.invoke(yourEditText, false); } catch (Exception e) { e.printStackTrace(); }
由于系统版本的差异化,有的系统的方法可能不是setSoftInputShownOnFocus ,需要读者自己去做确认.