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

 更新时间:2016年09月17日 10:33:53   投稿:daisy  
这篇文中给大家分享一个Android的控件,这个控件实现是一个可以动态选择定值范围的效果,实现后的效果很不错,对大家日常开发或许有所帮助,感兴趣的朋友们可以一起来看看。

先来看看效果:

一、添加依赖库的步骤

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抽奖轮盘的制作方法

    Android抽奖轮盘的制作方法

    这篇文章主要为大家详细介绍了Android抽奖轮盘的制作方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • Android实现视频播放--腾讯浏览服务(TBS)功能

    Android实现视频播放--腾讯浏览服务(TBS)功能

    TBS视频播放器可以支持市面上几乎所有的视频格式,包括mp4, flv, avi, 3gp, webm, ts, ogv, m3u8, asf, wmv, rm, rmvb, mov, mkv等18种视频格式。这篇文章主要介绍了Android实现视频播放--腾讯浏览服务(TBS),需要的朋友可以参考下
    2018-07-07
  • Android实现隐私政策弹窗与链接功能

    Android实现隐私政策弹窗与链接功能

    现在几乎所有的应用市场都要求应用上架需要用户协议/隐私政策,本篇内容将介绍如何在APP内植入一个隐私政策弹窗与链接,对Android隐私政策弹窗实现代码感兴趣的朋友跟随小编一起看看吧
    2021-07-07
  • Android中用StaticLayout实现文本绘制自动换行详解

    Android中用StaticLayout实现文本绘制自动换行详解

    StaticLayout是android中处理文字换行的一个工具类,StaticLayout已经实现了文本绘制换行处理,下面这篇文章主要介绍了Android中用StaticLayout实现文本绘制自动换行的相关资料,需要的朋友可以参考。
    2017-03-03
  • Android Handler源码深入探究

    Android Handler源码深入探究

    handler其实就是主线程在起了一个子线程,子线程运行并生成Message,Looper获取message并传递给Handler,Handler逐个获取子线程中的Message
    2022-08-08
  • Android线程间通信 Handler使用详解

    Android线程间通信 Handler使用详解

    这篇文章主要为大家介绍了Android线程间通信Handler使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • Android 用户Session管理的设计方案

    Android 用户Session管理的设计方案

    这篇文章主要介绍了Android 用户Session管理的设计方案,需要的朋友可以参考下
    2017-12-12
  • Android RecyclerView实现滑动删除

    Android RecyclerView实现滑动删除

    这篇文章主要为大家详细介绍了Android RecyclerView实现滑动删除,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • Android线程池控制并发数多线程下载

    Android线程池控制并发数多线程下载

    这篇文章主要为大家详细介绍了Android线程池控制并发数多线程下载,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • android adb实用命令小结

    android adb实用命令小结

    adb对于Android程序员来说在日常的工作中使用频率很高,现将自己工作中常用的adb命令总结一下备忘,方便查询,也供大家参考
    2017-04-04

最新评论