这篇文章主要为大家详细介绍了Android SeekBar实现禁止滑动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了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);
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程学习网。
沃梦达教程
本文标题为:Android SeekBar实现禁止滑动
猜你喜欢
- 最好用的ios数据恢复软件:PhoneRescue for Mac 2023-09-14
- Android MaterialButton使用实例详解(告别shape、selector) 2023-06-16
- Android实现轮询的三种方式 2023-02-17
- 详解flutter engine 那些没被释放的东西 2022-12-04
- Android实现监听音量的变化 2023-03-30
- SurfaceView播放视频发送弹幕并实现滚动歌词 2023-01-02
- Android studio实现动态背景页面 2023-05-23
- 作为iOS开发,这道面试题你能答出来,说明你基础很OK! 2023-09-14
- Flutter实现底部和顶部导航栏 2022-08-31
- iOS 对当前webView进行截屏的方法 2023-03-01
