可以支持输入的基本控件,继承自TextView,所以TextView具有的属性它也一样有
(1)字体相关
提示字体,就是无输入状态下的显示字体,某些提示信息
提示内容 android:hint =" 提示内容"
提示字体颜色 android:textColorHint
输入字体相关属性与TextView相同 text,textSize,textColor,textStyle(字体的样式 "italic"斜体 bold加粗 normal正常 三种选项)
(2)光标相关
可以设置光标的宽高颜色信息
android:textCursorDrawable="@drawable/film_search_contact_cursor_style"
在drawable里面这样写
这里有个坑,在安卓4某些手机上设置光标的高度会发现光标不显示,我的解决方法是把高度设置取消,只设置了宽度就没事了,它会自动设置高度。
(3)吊起的键盘相关 当点击EditText的文字输入框的时候就会自动吊起系统自带键盘。
android:imeOptions="actionSearch"
actionSearch代表软键盘的搜索按钮,其实就是个搜索字样,也有其他的属性,比如actionNext,此时搜索按钮的位置就变成了一个箭头
(4)监听点击事件
通常一次点击会吊起键盘,而我们同时还想处理点击事件。
一个点击事件是本身文本框的,直接使用普通的onClickListener监听事件就可以了。
还有一个点击事件是键盘那个搜索框的,当然会根据设定不同有其他文本提示,比如完成,或者箭头等,实现TextView.OnEditorActionListener接口即可
@Override
public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
if (i == EditorInfo.IME_ACTION_SEARCH) {
Toast.makeText(this, "onEditorAction make use",Toast.LENGTH_SHORT).show();
}
return false;
}
还有监听文字输入状况的监听事件,这个可以根据情况进行删除按钮的隐藏显示等相关操作
mInputText.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) {
deleteIcon.setVisibility(View.VISIBLE);
}
@Override
public void afterTextChanged(Editable s) {
if (mInputText != null && TextUtils.isEmpty(mInputText.getText().toString())) {
deleteIcon.setVisibility(View.GONE);
}
}
});