前言
Android手机在使用软键盘输入信息的时候会发现不用的应用右下角的按键不相同,有的是一个回车按钮,有的是搜索按钮,有的是Done,有的是前往,等等等等,如何实现修改软键盘右下角按钮呢,需要用到imeOptions属性,这个属性是EditeText里面的一个属性。
imeOptions属性
这里面整理收集了一些常用的属性
IME_ACTION_UNSPECIFIED. 编辑器决定Action按钮的行为
IME_ACTION_GO Action按钮将作为 “开始” 按钮。点击后跳转到输入字符的意图页面
IME_ACTION_SEARCH 执行“搜索”按钮。点击后跳转到输入字符的搜索结果页面
IME_ACTION_SEND. 执行 “发送”按钮。点击后将输入字符发送给它的目标
IME_ACTION_NEXT. Action按钮将作为next(下一个)按钮。点击后将进行下一个输入框的输入
IME_ACTION_DONE. Action按钮将作为done(完成)按钮。点击后IME输入法将会关闭
IME_ACTION_PREVIOUS. 作为”上一个”按钮。点击后将进行上一个输入框的输入
IME_FLAG_NO_FULLSCREEN. 请求IME输入法永远不要进入全屏模式
IME_FLAG_NAVIGATE_PREVIOUS. 类似IME_FLAG_NAVIGATE_NEXT, 表明这里有后退导航可以关注的兴趣点
IME_FLAG_NAVIGATE_NEXT. 表明这里有前进导航可以关注的兴趣点,类似IME_ACTION_NEXT,不过允许IME输入多行且提供前进导航。
IME_FLAG_NO_EXTRACT_UI. 请求IME输入法不要显示额外的文本UI
IME_FLAG_NO_ACCESSORY_ACTION. 和一个Action结合使用表明在全屏输入法中不作为可访问性按钮
IME_FLAG_NO_ENTER_ACTION. 多行文本将自动设置了该标志位,执行Action时为换行效果,如果未设置,IME输入法将把Enter按钮自动替换为Action按钮
IME_FLAG_FORCE_ASCII. 请求IME输入法接受ASCII字符的输
设置imeOptions属性的目的就是为了简化用户操作,比如登录界面,直接点击软键盘的回车按钮就可以进行登录操作,用户就不用在去页面点击登录按操作了。我们就可以在密码使用的EditText设置 android:imeOptions=”actionDone”,然后对EditText设置OnEditorActionListener监听,当捕捉到用户点击完成时,调用登录方法即可。
EditeText xml布局
<EditText
android:layout_width="match_parent"
android:layout_height="50dp"
android:id="@+id/et_login_pwd"
android:imeOptions="actionDone"
android:maxLines="1"
android:inputType="textPassword"
></EditText>
这个EditeText布局比较简单,只做演示使用,这里面需要下下面两属性:
android:inputType
android:maxLines
如果不设置这两个属性在有些手机上是监听onEditorActionListener是不起作用的,切记切记。
监听EditeText的OnEditorActionListener事件
et_login_pwd = findViewById(R.id.et_login_pwd);
et_login_pwd.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEND ||
actionId == EditorInfo.IME_ACTION_DONE ||
event != null && KeyEvent.KEYCODE_ENTER == event.getAction() &&
KeyEvent.ACTION_DOWN == event.getAction()){
//这里执行相关操作
}
return false;
}
});
本文详细介绍了Android中IME选项的使用方法,包括不同按钮的功能,如搜索、发送、完成等,以及如何通过设置imeOptions属性简化用户操作。通过实例展示了如何在登录界面使用此属性,提高用户体验。
3426

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



