登录的时候给用户很好的响应,废话不多说上代码,并注明自己留意的tips:
mPassField
= (EditText) findViewById(R.id.password);
mUserField = (EditText) findViewById(R.id.username);
mLoginButton = (Button) findViewById(R.id.sign_in_button);
mUserField.setNextFocusDownId(R.id.password);//tips 1:很明显输入完用户名就是输入密码,你不想做多余的事,这个时候给密码框设置焦点很有必要
mPassField.setOnKeyListener(new View.OnKeyListener() { // tips 2:监听键盘事件
public boolean onKey(View v, int keyCode, KeyEvent event) {
switch (event.getKeyCode()) {
case KeyEvent.KEYCODE_ENTER: //点击enter 键执行登录操作,而不是点击登录按钮才能登录
mLoginButton.setPressed(true);
mLoginButton.performClick(); // tips 3 给登录一点响应,比如声音,交互很好。
return true;
}
return false;
}
});
mLoginButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// 执行校验,开启异步线程后台校验那都是后话,你懂得。
}
});
本文介绍了一种优化登录界面用户体验的方法,通过代码实现自动给密码框设置焦点,监听键盘事件并使用户能通过按下Enter键直接登录,提升交互体验。
9905

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



