罗列一些常见的EditText的用法,都在Java代码中实现。
1、addTextChangedListener
实现文本改变监听(比如:登录界面当输入用户名后图标改变)
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
2、setOnKeyListener
改变回车键(比如:密码输入完成后,回车直接登录)
editText.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_UP) {
login();
return true;
} else {
return false;
}
}
});
3、setFocusable
和setFocusableInTouchMode
获取/清除焦点,activity的setSoftInputMode
控制虚拟键盘出现或者消失。
//获取焦点
editText.setFocusable(true);
editText.setFocusableInTouchMode(true);
//弹出键盘
MainActivity.this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
4、setBackground
设置背景、样式
editText.setBackground(getResources().getDrawable(R.drawable.drawable_shape));
网友评论