因为想做一个类似微信发送按钮的功能,即输入框有内容时就是发送按钮,没内容时是其他附加的功能,所以查了一下edittext的监听事件。具体代码如下
//设置文本变化的监听
ed.addTextChangedListener(watcher);
private TextWatcher watcher = new TextWatcher() {
@SuppressLint("NewApi")
//每次有文字变化就会出发这个时间
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
//这里的s就是输入框之后之中的内容
if(s.toString().isEmpty()){
//这里的setLayoutParams方法就是设置一个控件大小的方法,LayoutParams(width,heigh,weight)
bt1.setLayoutParams(new LinearLayout.LayoutParams(100, 100, 0));
bt2.setLayoutParams(new LinearLayout.LayoutParams(0, 0, 0.0f));
}
else{
bt2.setLayoutParams(new LinearLayout.LayoutParams(100, 100, 0));
bt1.setLayoutParams(new LinearLayout.LayoutParams(0, 0, 0.0f));
}
}
//这俩函数在搞蛇每太搞懂,以后用到再说吧
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@SuppressLint("NewApi")
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
};
这样就实现了在输入框有文字时显示一个按钮,而在木有字的时候显示另一个按钮辣