android制,点击EditText时刻,隐藏系统软键盘,显示光标
由于项目中要用自己定义的随机键盘,所以必须得屏蔽系统软键盘,可是在4.0的測试系统来看,使用editText.setInputType(InputType.TYPE_NULL)方法固然能隐藏键盘,可是光标也会隐藏,所以无法使用。
3.0下面版本号能够用editText.setInputType(InputType.TYPE_NULL)来实现。或者设置editText.setKeyListener(null)来实现。
3.0以上版本号除了调用隐藏方法setShowSoftInputOnFocus(false)。因为是系统内部方法,无法直接调用所以採用反射的方式来进行调用,例如以下
在项目中(当前项目使用的是android4.0):
int SDK_INT = android.os.Build.VERSION.SDK_INT;
if (SDK_INT <= 10) {
// 点击EditText,屏蔽默认输入法
editText.setInputType(InputType.TYPE_NULL); // editText是声明的输入文本框。 } else {
// 点击EditText,隐藏系统输入法
getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
try {
Class<EditText> cls = EditText.class;
Method method = cls.getMethod("setShowSoftInputOnFocus",
boolean.class);// 4.0的是setShowSoftInputOnFocus,4.2的是setSoftInputShownOnFocus
method.setAccessible(false);
method.invoke(editText, false); // editText是声明的输入文本框。
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
注:
上面反射的方法是从TextView的源代码中找到的。由于EditText是继承TextView,看网上据说有的sdk里面是"setSoftInputShownOnFocus"。反正详细是跟自己的sdk相相应就能够了。4.0系统相应设置的是setShowSoftInputOnFocus,4.2系统相应设置的是setSoftInputShownOnFocus,这两个版本号的都測试过了,是正确可用的。
參考:
Android.edittext点击时,隐藏系统弹出的键盘,显示出光标
http://blog.163.com/zhaoliping0736@126/blog/static/5550761120149684736794/
版权声明:本文博主原创文章,博客,未经同意不得转载。
android制,点击EditText时刻,隐藏系统软键盘,显示光标的更多相关文章
- Android之弹出/隐藏系统软键盘
Android弹出/隐藏系统软键盘的代码如下: InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT ...
- Android 禁止Edittext弹出系统软键盘 的几种方法
第一种方法:在XML文件下添加: android:focusable="true" android:focusableInTouchMode="true" 第二 ...
- 【转】Android点击空白区域,隐藏输入法软键盘
原文网址:http://www.2cto.com/kf/201505/401382.html 很多时候,我们在使用应用时,会出现输入法软键盘弹出的问题,通常情况下,我们默认会使用户点击返回键或者下一步 ...
- android 实现点击edittext的“小眼睛”切换明密文
android 实现点击edittext的“小眼睛”切换明密文 版权声明:本文为博主原创文章,未经博主允许不得转载. 很多时候,我们为了用户的隐私安全,需要在密码输入的时候,显示密文.为了更 ...
- Android - 隐藏EditText弹出的软键盘输入(SoftInput)
隐藏EditText弹出的软键盘输入(SoftInput) 本文地址: http://blog.csdn.net/caroline_wendy 保持界面的整洁, 能够选择在进入界面时, 隐藏EditT ...
- Android EditText软键盘显示隐藏以及“监听”
一.写此文章的起因 本人在做类似于微信.易信等这样的聊天软件时,遇到了一个问题.聊天界面最下面一般类似于如图1这样(这里只是显示了最下面部分,可以参考微信等),有输入文字的EditText和表情按钮等 ...
- Android点击其他任意位置收起软键盘
在Android应用开发中,经常出现这样的需求,用户在输入文字的过程中,可能不想继续输入了,通过滑动或者点击其他位置(除软键盘和EditText以外的任何位置),希望能够自动收回键盘,这个功能可能有些 ...
- 系统软键盘">Android在外接物理键盘时,如何强制调用系统软键盘?
第一次写,写的不好请见谅 物理键盘映射过程: 手机/system/usr/keylayout/*.kl :内核将keyCode映射成有含义的字符串KeycodeLabels.h : framework ...
- Android调用系统软键盘
/** * * @MethodName:closeInputMethod * @Description:关闭系统软键盘 * @throws */ public void closeInputMetho ...
随机推荐
- UVA 11367 - Full Tank? dijkstra+DP
传送门:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&a ...
- IT从业人员关注哪些问题
技术人员关注的问题非常多,但常见的至少有以下6种.特此整理,抓住核心问题,解决它. 一个人的精力和时间往往非常有限,能把核心问题都解决到位就是成功. 1.职业规划 大家从读小学开始,就是在为职业规划过 ...
- Nginx系列(二)--模块化
高度模块化的设计设Nginx架构的基础. 在Nginx中,除了少量的核心代码,其它一切皆为模块.模块化设计具有下面特点: 1.高度抽象的模块接口 2.灵活性 3.配置模块的设计使Nginx提供了高可配 ...
- 15、USB摄像头图片采集+QT显示
一.Qt的下载和的安装 关于Qt的安装,网络上有很详细的介绍.这里只做简单介绍. 需要的安装包一共有两个:Qt Creator 和QTE. 1)QT Creator 下载地址:qt-sdk-linux ...
- Voronoi Diagram——维诺图
Voronoi图定义 任意两点p 和q 之间的欧氏距离,记作 dist(p, q) .就平面情况而言,我们有 dist(p, q) = (px-qx)2+ (py-qy)2 ...
- CTR深度学习
深度学习在 CTR 中应用 一. Wide&&Deep 模型 首先给出Wide && Deep [1] 网络结构: 本质上是线性模型(左边部分, Wide model) ...
- thinkphp 3.2 updateFields 设置之后保存失败
// 检测提交字段的合法性 if(isset($this->options['field'])) { // $this->field('field1,field2...')->cre ...
- gerrit docker
修改项目配置文件 git clone ssh://admin@localhost:29418/All-Projects && scp -p -P 29418 admin@localho ...
- js进阶正则表达式7点数字字母空格(w d s)(小写表原意,大写表反义)(特殊字符要加反斜杠:var reg22=/\W/g)
js进阶正则表达式7点数字字母空格(w d s)(小写表原意,大写表反义)(特殊字符要加反斜杠:var reg22=/\W/g) 一.总结 1.w d s,word digital space 2.特 ...
- 结构体(struct)与类(class)
在 C++ 的范畴里,除了 struct 结构体不支持访问权限修饰符(private.protected.public)外,已不再区分二者的其他方面语法上的差异. 因此,在 C++ 编程中,如果一个类 ...