EditText中imeOptions属性使用及设置无效解决
2016-05-31 19:12
711 查看
虽然通常输入法软键盘右下角会是回车按键
但我们经常会看到点击不同的编辑框,输入法软键盘右下角会有不同的图标
点击浏览器网址栏的时候,输入法软键盘右下角会变成“GO”或“前往”
而我们点击Google搜索框,输入法软键盘右下角会变成 放大镜 或者“搜索”
而决定这个图标的变换的参数就是EditText中的 Android:imeOptions
android:imeOptions的值有actionGo、 actionSend 、actionSearch、actionDone等,这些意思都很明显
[html] view
plain copy
<EditText
android:id="@+id/editText"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:imeOptions="actionSearch"
/>
而其在Java代码中对应的值为EditorInfo.IME_ACTION_XXX
在代码中通过editText.setOnEditorActionListener方法添加相应的监听,因为有些action是需要在代码中添加具体的相关操作的
[java] view
plain copy
EditText editText = (EditText) contentView.findViewById(R.id.editText);
editText.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId,
KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
Toast.makeText(getActivity(), "1111111",Toast.LENGTH_SHORT).show();
}
return false;
}
});
然而当我们设置这一切后,却发现点击输入框,输入法键盘完全没变化,还是回车键
这并不是上面的属性和方法无效,而是我们还需要设置别的属性来使它们生效
经过试验 设置下面两个属性中的一个即可使这个属性生效(应该还有其他的属性也可以,没去试验)
1 将singleLine设置为true
2 将inputType设置为text
[html] view
plain copy
<EditText
android:id="@+id/editText"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:imeOptions="actionSearch"
android:singleLine="true"
android:inputType="text"
/>
java代码设置
[java] view
plain copy
editText.setImeOptions(EditorInfo.IME_ACTION_SEARCH);
editText.setInputType(EditorInfo.TYPE_CLASS_TEXT);
editText.setSingleLine(true);
http://blog.csdn.net/lastdream/article/details/24365633
但我们经常会看到点击不同的编辑框,输入法软键盘右下角会有不同的图标
点击浏览器网址栏的时候,输入法软键盘右下角会变成“GO”或“前往”
而我们点击Google搜索框,输入法软键盘右下角会变成 放大镜 或者“搜索”
而决定这个图标的变换的参数就是EditText中的 Android:imeOptions
android:imeOptions的值有actionGo、 actionSend 、actionSearch、actionDone等,这些意思都很明显
[html] view
plain copy
<EditText
android:id="@+id/editText"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:imeOptions="actionSearch"
/>
而其在Java代码中对应的值为EditorInfo.IME_ACTION_XXX
在代码中通过editText.setOnEditorActionListener方法添加相应的监听,因为有些action是需要在代码中添加具体的相关操作的
[java] view
plain copy
EditText editText = (EditText) contentView.findViewById(R.id.editText);
editText.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId,
KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
Toast.makeText(getActivity(), "1111111",Toast.LENGTH_SHORT).show();
}
return false;
}
});
然而当我们设置这一切后,却发现点击输入框,输入法键盘完全没变化,还是回车键
这并不是上面的属性和方法无效,而是我们还需要设置别的属性来使它们生效
经过试验 设置下面两个属性中的一个即可使这个属性生效(应该还有其他的属性也可以,没去试验)
1 将singleLine设置为true
2 将inputType设置为text
[html] view
plain copy
<EditText
android:id="@+id/editText"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:imeOptions="actionSearch"
android:singleLine="true"
android:inputType="text"
/>
java代码设置
[java] view
plain copy
editText.setImeOptions(EditorInfo.IME_ACTION_SEARCH);
editText.setInputType(EditorInfo.TYPE_CLASS_TEXT);
editText.setSingleLine(true);
http://blog.csdn.net/lastdream/article/details/24365633
相关文章推荐
- Linux编程学习环境搭建
- Docker学习(一)
- Linux 命令笔记
- 一线架构师实践指南阅读体会_ADMEMS方法体系理解(转)
- 简单的网站项目开发流程 .
- linux常用的配置文件, 通过软链接建立与系统配置文件的联系(vim等)
- tomcat 优化配置 java-8 tomcat-7
- CentOS7 开源跳板机(堡垒机) Jumpserver
- CentOS 7 安装配置 NFS
- 自动化运维 Ansible
- CentOS 7 x64 安装 Ceph
- CentOS 7.0 安装配置 kafka 消息队列
- 日志文件 统计 网站PV IP
- CentOS 6.5 GIT 服务器搭建
- nginx 生成 缩略图 and 生成缩略图到硬盘
- CentOS6.6部署OpenStack Havana(Nova-Network版)
- Nginx Image Module图片缩略图 水印处理模块
- CentOS 6.X x64 编译安装 Countly
- CentOS 6.4 x64 zabbix 2.2.2 编译安装
- CentOS 6.4 x64 Percona-Server-5.6.15 源码安装