Android SeekBar实现禁止滑动

 更新时间:2021年03月31日 12:01:00   作者:酥脆  
这篇文章主要为大家详细介绍了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刷分代码

    微信跳一跳游戏Android刷分代码

    这篇文章主要为大家详细介绍了微信跳一跳游戏Android刷分代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • Android中ViewPager的PagerTabStrip与PagerTitleStrip用法实例

    Android中ViewPager的PagerTabStrip与PagerTitleStrip用法实例

    这篇文章主要介绍了Android中ViewPager的PagerTabStrip与PagerTitleStrip用法实例,这两个子控件一般被用作添加标题,在实际效果上并不是那么好控制,使用的时候需要谨慎,需要的朋友可以参考下
    2016-06-06
  • Android自定义带动画效果的圆形ProgressBar

    Android自定义带动画效果的圆形ProgressBar

    这篇文章主要为大家详细介绍了Android自定义带动画效果的圆形ProgressBar,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • Android 获取实时网速实现详解

    Android 获取实时网速实现详解

    这篇文章主要为大家介绍了Android 获取实时网速实现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • Flutter TV Android端开发技巧详细教程

    Flutter TV Android端开发技巧详细教程

    这篇文章主要为大家介绍了Flutter TV Android端开发技巧详细教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • Android 使用 ViewPager循环广告位的实现

    Android 使用 ViewPager循环广告位的实现

    本文给大家分享android使用 ViewPager循环广告位的实现,感兴趣的朋友一起学习吧
    2015-11-11
  • 设置界面开发Preference Library数据重建机制详解

    设置界面开发Preference Library数据重建机制详解

    这篇文章主要为大家介绍了设置界面开发利器Preference Library数据重建机制详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • adb无法连接雷电模拟器问题的解决方式

    adb无法连接雷电模拟器问题的解决方式

    雷电模拟器优点是可设置的选项要比天天模拟器多,下面这篇文章主要给大家介绍了关于adb无法连接雷电模拟器问题的解决方式,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • 详细分析Android-Zygote的启动过程

    详细分析Android-Zygote的启动过程

    在Android系统中,所有的应用程序进程以及系统服务进程SystemServer都是由Zygote进程孕育(fork)出来的,这也许就是为什么要把它称为Zygote(受精卵)的原因吧。由于Zygote进程在Android系统中有着如此重要的地位,本文将详细分析它的启动过程
    2021-06-06
  • Android编程使用WebView实现文件下载功能的两种方法

    Android编程使用WebView实现文件下载功能的两种方法

    这篇文章主要介绍了Android编程使用WebView实现文件下载功能的两种方法,涉及Android基于WebView的相关文件传输与线程操作技巧,需要的朋友可以参考下
    2018-02-02

最新评论