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);

  }
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • android 实现ScrollView自动滚动的实例代码

    有时候需要动态添加数据,屏幕显示满了,数据需要滚动展示.这里主要弄懂scrollTo(0, off)方法的含义喊用法. 含义不说了,大概意思就这样. 下面来看他的用法: 复制代码 代码如下: private void searchResultShow() { TextView textView = new TextView(AFSearchActivity.this);           textView.setText("Text View ");           Linear

  • Android中实现多行、水平滚动的分页的Gridview实例源码

    功能要求: (1)比如每页显示2X2,总共2XN,每个item显示图片+文字(点击有链接). 如果单行水平滚动,可以用Horizontalscrollview实现. 如果是多行水平滚动,则结合Gridview(一般是垂直滚动的)和Horizontalscrollview实现. (2)水平滚动翻页,下面有显示当前页的icon. 1.实现自定义的HorizontalScrollView(HorizontalScrollView.java): 因为要翻页时需要传当前页给调用者,所以fling函数中自己

  • Android GridView实现滚动到指定位置的方法

    当一个列表项目很多,并且每个项目可以进入到其它Activity或者Fragment时,保存之前列表的位置是一个比较不错的功能, 今天研究了一下怎么保存浏览位置,发现GridView和它的父类中有4个相关的方法: 复制代码 代码如下: public void smoothScrollToPosition (int position) 滚动到position指定的位置,api level 11之下可用 *当你滚动完后,返回列表,能正常滚动,但是你再次从列表的项目返回后,滚动失效,就是只能滚动一次,我

  • Android SeekBar实现滑动条效果

    本文实例为大家分享了Android SeekBar实现滑动条效果的具体代码,供大家参考,具体内容如下 SeekBar是ProgressBar的一个子类,下面我们用一个可以改变并显示当前进度的拖动条例子来演示一下它的使用: 1.main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/

  • android实现上下滚动的TextView

    一 说明    这里重要应用类 AutoTextView,这是一个自定义的类,继承至TextSwitcher,下面临 AutoTextView类做简要说明: 1. 该类应用的重点,在于设置两个动画, setInAnimation(...)  和 setOutAnimation(...),分离是文字进入的动画和文字退出的动画: 2. 类中定义了一个外部类-Rotate3dAnimation,重要靠该类实现文字进出动画,该外部类继承至Animation.说来偶合,这个恰好是在apiDemo中看到了,

  • Android自定义SeekBar滑动显示数字

    先来上个效果图: 当滑动时:数值显示,滑动停止时显示数字,使用FrameLayout结合SeekBar. 首先我们看看. Layout: <?xml version="1.0" encoding="utf-8"?> <merge xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.c

  • android TextView不用ScrollViewe也可以滚动的方法

    代码 复制代码 代码如下: TextView textview = (TextView) findViewById(R.id.text);            /**             *              * 只有调用了该方法,TextView才能不依赖于ScrollView而实现滚动的效果.             * 要在XML中设置TextView的textcolor,否则,当TextView被触摸时,会灰掉.             */ textview.setMov

  • Android SeekBar实现平滑滚动

    本文实例为大家分享了Android SeekBar实现平滑滚动的具体代码,供大家参考,具体内容如下 由于项目需要,SeekBar只需要三个档,但是如果只设置三个档会很难滑,看着也不好看,于是我将其设置为100,然后自动滑到0,50,100的位置 大部分代码还是跟之前一样,只是把max改为100,progress改为50 <SeekBar android:layout_width="match_parent" android:layout_height="wrap_con

  • android开发之横向滚动/竖向滚动的ListView(固定列头)

    由于项目需要,我们需要一个可以横向滚动的,又可以竖向滚动的 表格.而且又要考虑大数据量(行)的展示视图.经过几天的研究终于搞定,做了一个演示.贴图如下:      好吧.让我们看思路是什么样的: 1. 上下滚动直接使用 listView来实现. 2. 左右滚动使用HorizontalScrollView,来处理滚动.我写一个类MyHScrollView继承 自它. 2.1 . ListView里的每行(row)分为 两部分,不滚动的和可滚动的区域.比如本demo的第一列,就是静态的.而后面的所有

  • android开发教程之文本框加滚动条scrollview

    我们都知道EditText与TextView是Android的文本输入框和文本显示框,但是基于手机屏幕的大小因素,如果在需要输入较多文字或者显示较多内容的时候,手机屏幕是远远不够的,因此让文本框具有滚动条的功能是手机上必备的,下面介绍下如何加上滚动条.要加上滚动条,其实很简单,只需要在文本输入框或者文本显示框上面加上滚动条控件即可,该控件名字为ScrollView,以下我们对比下(以TextView举例). 复制代码 代码如下: //A.未加滚动效果 <TextView android:layo

随机推荐