本文实例为大家分享了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); } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学编程网。
- 本文固定链接: https://zxbcw.cn/post/208646/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)