给button设置背景图片很简单,设置点击时的背景也简单,做一个selector选择器就好了。当我想在点击时和松开后背景不再改变回去时遇到了麻烦,无论怎么设置selector都不起作用。无奈上网求救,遇一好心人解答,感谢他,现将解决方法记录下来。
第一种方法:给按钮添加监听事件,并做标志。这个貌似要在xml文件给按钮加上背景。
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(btstate==0){
// button.setBackgroundColor(0xff000000); //改变背景色
button.setBackgroundResource(R.drawable.radio_btn); //改变背景图片
btstate=1;
}else if (btstate==1) {
// button.setBackgroundColor(0xff2bb8aa);
button.setBackgroundResource(R.drawable.radio_btn_none);
btstate=0;
}
}
});
第二种方法:用checkbox xml文件中给设置android:button="@null",不显示方框+对号。监听事件
button2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
// TODO Auto-generated method stub
if(isChecked){
} else {
}
}
});
我在使用的时候用的第一种方法,点击按钮出现一个popupwindow,再点击消失,给popupwindow加上了消失的监听事件
pwMyPopWindow.setOnDismissListener(new OnDismissListener() {
@Override
public void onDismiss() {
button.setBackgroundResource(R.drawable.radio_btn_none);
btstate=0;
}
});
总之就是这样,在好心人帮助下又学到了新知识。