Android Button自定义点击效果与在代码中设置被选中后样式改变

实习的公司的项目,一个智能家居设备可以使用手机app控制设备的升降,有三个升降控制按钮,上升,停止,下降

但是原来的版本里没有设置按钮的点击事件,以至于出现在设备上升时点击下降按钮,在按钮被点击后下降按钮会闪烁一下,然后显示停止,然后才显示下降。虽然我是感觉没啥毛病,但还是要改

原来是使用RadioGroup实现的三个按钮,只设置了选中效果没有设置点击效果


if(st == AirerDevice.MOTO_STATUS_UP) {

rgControl.check(R.id.rb_up);

subText = getString(R.string.status_up);

}elseif(st == AirerDevice.MOTO_STATUS_DOWN) {

rgControl.check(R.id.rb_down);

subText = getString(R.string.status_down);

}elseif(st == AirerDevice.MOTO_STATUS_STOP) {

rgControl.check(R.id.rb_stop);

subText = getString(R.string.status_stop);

}

然后把按钮修改成最普通的Button,添加了点击事件与选中事件


if(st == AirerDevice.MOTO_STATUS_UP) {

//          rgControl.check(R.id.rb_up);

//          up.setBackgroundResource(R.drawable.up_select_zj);

up.setSelected(true);

up.setPressed(true);

down.setSelected(false);

stop.setSelected(false);

subText = getString(R.string.status_up);

}else if(st == AirerDevice.MOTO_STATUS_DOWN) {

//          rgControl.check(R.id.rb_down);

//          down.setBackgroundResource(R.drawable.down_select_zj);

//          down.setBackgroundResource(R.drawable.zj_down_selector);

down.setSelected(true);

down.setPressed(true);

up.setSelected(false);

stop.setSelected(false);

subText = getString(R.string.status_down);

}else if(st == AirerDevice.MOTO_STATUS_STOP) {

//          rgControl.check(R.id.rb_stop);

//          stop.setBackgroundResource(R.drawable.stop_select_zj);

//          stop.setBackgroundResource(R.drawable.zj_stop_selector);

stop.setSelected(true);

stop.setPressed(true);

up.setSelected(false);

down.setSelected(false);

subText = getString(R.string.status_stop);

}

虽然愚蠢但是完成了,接下来就是把重复代码封装一下了,很基础的问题

你可能感兴趣的:(Android Button自定义点击效果与在代码中设置被选中后样式改变)