首先给大家推荐一个博客,里面对EditText的属性和一些设置进行了详细的统计。Android开发之EditText属性详解(感谢博主分享)
1.EditText背景设置
为了使应用美观起来,我们在开发的时候通常不直接使用android系统默认的EditText风格,想改变这种风格只需要给EditText设置一个背景就可以了。如果你想用Shape自己做一个背景呢,可以看下:详解shape标签 (感谢博主分享)
2.监听EditText的输入内容的变化
edt_AddComment_Pop_LRDA.addTextChangedListener(this);
实现这个接口即可,接口中有三个方法:
addTextChangedListener接口中的方法 | |
---|---|
beforeTextChanged | 这个方法在EditText输入之前调用 |
onTextChanged | 这个方法在EditText输入内容的时候调用 |
afterTextChanged | 这个方法在EditText完成输入内容的时候调用 |
//输入前
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
//输入时
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
//获取去掉空格后的输入的字符串
String comment=edt_AddComment_Pop_LRDA.getText().toString().trim();
//如果字符串为空
if(comment.equals("")||comment.length()==0){
//改变发送按钮的背景和颜色 tv_SendComment_Pop_LRDA.setTextColor(getResources().getColor(R.color.line_color));
tv_SendComment_Pop_LRDA.setBackgroundResource(R.mipmap.ic_qiandanedbg);
}else {
//改变发送按钮的背景和颜色 tv_SendComment_Pop_LRDA.setTextColor(getResources().getColor(R.color.white));
tv_SendComment_Pop_LRDA.setBackgroundResource(R.mipmap.ic_qiandanbg);
}
}
//输入后
@Override
public void afterTextChanged(Editable s) {
}
这里实现了QQ空间发表评论时的效果,不输入或者输入空格时发送的背景和颜色是灰色,如果有内容输入且不是空格时就会变色。
一边输入一边输出的效果也是这样实现的,再输入的过程中同时给TextView.setText()即可。