Android等待用户输入,Android开发中利用imeOptions属性将键盘回车键改成搜索等功能键【提高用户输入体验】...

Android中键盘输入是用户输入交互的最常用最直接的手段,关于键盘输入,有几点可以提高用户使用体验。

第一:弹出键盘整体页面上移,使键盘不遮挡控件,需要在AndroidManifest设置对应Activity的windowSoftInputMode属性

stateVisible

设置为这个属性,可以将软键盘召唤出来,即使在界面上没有输入框的情况下也可以强制召唤出来

adjustResize

这个属性表示Activity的主窗口总是会被调整大小,从而保证软键盘显示空间。

效果如下图所示:

454ea97e6a5bb964ce4d9add870a734c.png58ac00d3e678c2001aacdf9db19a7496.png

activity>

第二:页面中有多个输入控件的时候,输入控件焦点的切换需要用户点击控件切换的话,使用体验不是很好,可以将键盘的回车键改成“下一步”按钮,直接将光标焦点切换到下一个输入控件。在布局文件中设置

android:imeOptions="actionNext"android:singleLine="true"

即可

如下图所示

454ea97e6a5bb964ce4d9add870a734c.png

第三:提交表单时,可以点击提交按钮提交,也可以最后一个EditText获取焦点时设置键盘的回车键为发送键,这样点击了键盘的回车键就自动处理了提交表单的逻辑。

设置也很简单,输入控件布局文件添加两个属性如下:

android:imeOptions="actionSend"android:singleLine="true"

在Activity中检测到键盘回车键是否按下,从而处理响应的逻辑

mPassWord.setOnKeyListener(newView.OnKeyListener() {

@Overridepublic booleanonKey(Viewv, intkeyCode, KeyEventevent) {

if(keyCode==KeyEvent.KEYCODE_ENTER) {((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE))

.hideSoftInputFromWindow(LoginActivity.this.getCurrentFocus()

.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);

if(TextUtil.isEmpty(mPassWord.getText().toString())){

ToastUtil.getInstance().show("请输入密码");

}else{

login(mUserName.getText().toString(),mPassWord.getText().toString());

}

}

return false;

}

}); 如下图所示:

df79639d5d200ae4e0e343f1190f5e17.png

第四:将回车键改成搜索按键,布局文件EditText添加如下两个属性:

android:singleLine="true"android:imeOptions="actionSearch"

回车键的点击检测和上边的一样

示例图如下:

db2dd965d47cfd56cc237db902e11a4a.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值