Android实现动态定值范围效果的控件

所属分类: 软件编程 / Android 阅读数: 53
收藏 0 赞 0 分享

先来看看效果:

一、添加依赖库的步骤

1.项目的gradle文件内的做以下改动

allprojects {
  repositories {
   ...
   maven { url "https://jitpack.io" }
  }
 }

2.添加最新版本的依赖库,最新版本如右所示,修改末尾的版本即可(因为我有时候更新版本了会忘记修改readme)

dependencies {
   compile 'com.github.Brioal:BrioalSetting:1.0'
   ////例如上面最新版本是1.1,则只要把1.0改成1.1即可使用最新版本
 }

二、使用步骤:

1.xml布局文件

实际使用过程中发现如果与其他组件在一起,则滑动事件会实效,暂时没发现代码里面怎么解决,设置focus啥的都没用,暂时的解决办法是给组件添加一个父布局并且不包含其他组件即可,如下:

<LinearLayout
  android:id="@+id/layout"
android:layout_centerInParent="true"
  android:layout_width="match_parent"
  android:layout_height="wrap_content">
  <com.brioal.rangeseek.view.RangeBar
   android:id="@+id/main_container"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:layout_centerInParent="true"/>

 </LinearLayout>

2.代码设置

mRangeBar = (RangeBar) findViewById(R.id.main_container);
   //添加数据源
  final List<RangeEntity> list = new ArrayList<>();
  //要显示的文字和实际的值,分别是String 和 Object类型
  list.add(new RangeEntity("15℃", 15));
  list.add(new RangeEntity("18℃", 18));
  list.add(new RangeEntity("21℃", 21));
  list.add(new RangeEntity("24℃", 24));
  list.add(new RangeEntity("27℃", 27));
  list.add(new RangeEntity("30℃", 30));
  //设置数据源
  mRangeBar.setValues(list);
  //添加范围改变监听器
  mRangeBar.addOnRangeChangedListener(new OnRangeChangedListener() {
   @Override
   public void selected(int startIndex, int endIndex) {
   //获取到的是起始和终止的数据在List中所对应的下标
    mTvMin.setText(list.get(startIndex).getValue() + "");
    mTvMax.setText(list.get(endIndex).getValue() + "");
   }
  });

3.提供的供自定义视图的方法

方法 功能
void addOnRangeChangedListener(OnRangeChangedListener listener) 设置事件监听器
void setLineColor(int lineColor) 设置中间的线条颜色
void setLineWidth(int lineWidth) 设置中间的线条宽度
void setCircleColor(int circleColor) 设置圆点的边框颜色
void setCircleRadius(int circleRadius) 设置圆点的半径
void setCircleWidth(int circleWidth) 设置圆点的线条宽度
void setCenterColor(int centerColor) 设置选中的圆点的填充颜色
void setPointColor(int pointColor) 设置游标的填充颜色
void setStartIndex(int startIndex) 设置选中的起始下标
int getStartIndex() 获取选中的起始下标
void setEndIndex(int endIndex) 设置终止下标
int getEndIndex() 获取终止的下标

总结

以上就是这篇文章的全部内容,希望本文能对大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流。

更多精彩内容其他人还在看

Android网络编程之获取网络上的Json数据实例

这篇文章主要介绍了Android网络编程之获取网络上的Json数据实例,本文用完整的代码实例讲解了在Android中读取网络中Json数据的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中的windowSoftInputMode属性详解

这篇文章主要介绍了Android中的windowSoftInputMode属性详解,本文对windowSoftInputMode的9个属性做了详细总结,需要的朋友可以参考下
收藏 0 赞 0 分享

Android网络编程之UDP通信模型实例

这篇文章主要介绍了Android网络编程之UDP通信模型实例,本文给出了服务端代码和客户端代码,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中使用ListView实现漂亮的表格效果

这篇文章主要介绍了Android中使用ListView实现漂亮的表格效果,本文用详细的代码实例创建了一个股票行情表格,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中刷新界面的二种方法

这篇文章主要介绍了Android中刷新界面的二种方法,本文使用Handler、postInvalidate两种方法实现界面刷新,需要的朋友可以参考下
收藏 0 赞 0 分享

Android SDK三种更新失败及其解决方法

这篇文章主要介绍了Android SDK三种更新失败及其解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(一)

Android3.0(API level 11)开始,Android设备不再需要专门的菜单键。随着这种变化,Android app应该取消对传统6项菜单的依赖。取而代之的是提供anction bar来提供基本的用户功能
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(二)

这次将继续上一篇文章没有讲完的Menu的学习,上下文菜单(Context menu)和弹出菜单(Popup menu)
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(三)

今天继续昨天没有讲完的Menu的学习,主要是Popup Menu的学习,需要的朋友可以参考下
收藏 0 赞 0 分享

Android显示网络图片实例

这篇文章主要介绍了Android显示网络图片的方法,以实例形式展示了Android程序显示网络图片的方法,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多