Android SeekBar实现禁止滑动
短信预约 -IT技能 免费直播动态提醒
本文实例为大家分享了Android SeekBar实现禁止滑动的具体代码,供大家参考,具体内容如下
由于项目需要,在关闭开关的时候需要将顶部的调温栏禁用,变为灰色且不可点击滑动,而开的时候要启用,变为黄色且可点击滑动
为防止抓不住重点,仅展示相关代码
public class DeviceControlActivity extends Activity implements View.OnClickListener,SeekBar.OnSeekBarChangeListener{
private SeekBar mSeekBar;
private TextView mLowTempTextView;
private TextView mMiddleTempTextView;
private TextView mHighTempTextView;
private Button mSwitchButton;
private int mSwitchButtonStatus =0;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.device_control_layout);
initView();
intiData();
initEvent();
}
private void initView(){
mSeekBar=findViewById(R.id.id_seek_bar);
}
private void initEvent(){
mSeekBar.setOnSeekBarChangeListener(this);
setSeekBarClickable(0);//先禁用seekBar
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.id_device_control_switch_button:
if (mSwitchButtonStatus ==1){
mSwitchButton.setBackgroundResource(R.drawable.switch_button_off_img);
mSwitchButtonStatus =0;
sendAt("AT+IO1=L");
setSeekBarClickable(mSwitchButtonStatus);//禁用
}else {
mSwitchButton.setBackgroundResource(R.drawable.switch_button_on_img);
mSwitchButtonStatus =1;
sendAt("AT+IO1=H");
setSeekBarClickable(mSwitchButtonStatus);//启用
}
break;
}
}
private void setSeekBarClickable(int i){
if (i==1){
//启用状态
mSeekBar.setClickable(true);
mSeekBar.setEnabled(true);
mSeekBar.setSelected(true);
mSeekBar.setFocusable(true);
Drawable drawable=getResources().getDrawable(R.drawable.yellow_mid_img_40);
mSeekBar.setThumb(drawable);
mSeekBar.setProgress(50);
}else {
//禁用状态
mSeekBar.setClickable(false);
mSeekBar.setEnabled(false);
mSeekBar.setSelected(false);
mSeekBar.setFocusable(false);
Drawable drawable=getResources().getDrawable(R.drawable.seek_bar_grey_img_40);
mSeekBar.setThumb(drawable);
mSeekBar.setProgress(50);
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341