AndroidButton⾃定义点击效果与在代码中设置被选中后样式改变实习的公司的项⽬,⼀个智能家居设备可以使⽤⼿机app控制设备的升降,有三个升降控制按钮,上升,停⽌,下降
但是原来的版本⾥没有设置按钮的点击事件,以⾄于出现在设备上升时点击下降按钮,在按钮被点击后下降按钮会闪烁⼀下,然后显⽰停⽌,然后才显⽰下降。虽然我是感觉没啥⽑病,但还是要改android radiogroup
原来是使⽤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);
}
虽然愚蠢但是完成了,接下来就是把重复代码封装⼀下了,很基础的问题

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。