6.3.1 EditText
属性
- inputType:指定输入的文本类型。输入类型的取值说明见表,若同时使用多种文本类型,则可使用竖线把多种文本类型拼接起来。
- maxLength:指定文本允许输入的最大长度。
- hint:指定提示文本的内容。
- textColorHint:指定提示文本的颜色。
输入类型 | 说明 |
---|---|
text | 文本 |
textPassword | 文本密码,圆点显示 |
number | 整型数 |
numberSigned | 带符号的数字,允许在开头带负号 |
numberDecimal | 带小数点的数字 |
numberPassword | 数字密码 |
datetime | 时间日期格式,除了数字外,还允许输入横线、斜杆、空格、冒号 |
date | 日期格式,除了数字外,还允许输入横线和斜杆 |
time | 时间格式。除了数字外,还允许输入冒号 |
无边框的输入框:background=“@null”
有焦点和无焦点不同背景的输入框,设置背景为drawable—selector—item—state focused
6.3.2 输入框焦点变更的事件监听
findViewById(R.id.sw_mysw).setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean b) {
//do
}
});
requestFocus();//获取焦点
6.3.3 文本变化监听器
调用编辑框对象的addTextChangedListener方法即可注册文本监听器。
文本监听器的接口名称为TextWatcher.,该接口提供了3个监控方法,具体说明如下。
- beforeTextChanged:在文本改变之前触发。
- onTextChanged:在文本改变过程中触发。
- afterTextChanged:在文本改变之后触发。
自定义类实现TextWatcher接口,传入当前组件作为View参数,调用隐藏键盘的方法
//隐藏键盘的方法
private static void hideKeyBoard(Activity activity,View view){
InputMethodManager inputMethodManager = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(),0);
}