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() 获取终止的下标

总结

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

时间: 2024-10-25 16:37:37

Android实现动态定值范围效果的控件的相关文章

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

先来看看效果: 一.添加依赖库的步骤 1.项目的gradle文件内的做以下改动 allprojects { repositories { ... maven { url "https://jitpack.io" } } } 2.添加最新版本的依赖库,最新版本如右所示,修改末尾的版本即可(因为我有时候更新版本了会忘记修改readme) dependencies { compile 'com.github.Brioal:BrioalSetting:1.0' ////例如上面最新版本是1.1

Android实现动态圆环的图片头像控件_Android

先看效果图: 现在大部分的app上难免会使用到圆形头像,所以今天我给大家分享一个单独使用的,并且周围带有圆环动画的花哨圆形头像控件,本控件是在圆形头像控件基础上实现的,只是在其周围再画一些不同大小的圆而已,就可以实现如图的效果. 圆形头像的基本原理是将设置的资源文件转化成Bitmap,然后通过BitmapShader类将Bitmap成为Paint的渲染器,然后在onDraw()中通过canvas.drawCircle(rx,ry,radius,paint);画布上画圆,而这个圆就是形成了圆形头像

Android实现动态圆环的图片头像控件

先看效果图: 现在大部分的app上难免会使用到圆形头像,所以今天我给大家分享一个单独使用的,并且周围带有圆环动画的花哨圆形头像控件,本控件是在圆形头像控件基础上实现的,只是在其周围再画一些不同大小的圆而已,就可以实现如图的效果. 圆形头像的基本原理是将设置的资源文件转化成Bitmap,然后通过BitmapShader类将Bitmap成为Paint的渲染器,然后在onDraw()中通过canvas.drawCircle(rx,ry,radius,paint);画布上画圆,而这个圆就是形成了圆形头像

Android实现果冻滑动效果的控件_Android

前言 在微信是的处理方法是让用户滑动,但最终还是回滚到最初的地方,这样的效果很生动(毕竟成功还是取决于细节).那么在安卓我们要怎么弄呢.下面为大家介绍一下JellyScrollView,是我继承ScrollView的一个有阻尼的效果的果冻滑动控件. 下面话不多说了,先来看看效果图 (在虚拟机或者真机跑起来是很流畅,可能是录制视频做成gif的时候有点卡顿.) 实现原理 其实只需要重写下它的拦截方法的逻辑就好了,ScrollView的拦截方法onInterceptTouchEvent一般情况下都默认

Android实现在列表List中显示半透明小窗体效果的控件用法详解_Android

本文实例讲述了Android实现在列表List中显示半透明小窗体效果的控件用法.分享给大家供大家参考,具体如下: Android 在列表List中显示半透明小窗体效果的控件,多的不多直接上代码,要说的都在注释里了: import com.hiapk.market.R; import android.content.Context; import android.graphics.PixelFormat; import android.os.Handler; import android.view

Android动态添加设置布局与控件的方法_Android

本文实例讲述了Android动态添加设置布局与控件的方法.分享给大家供大家参考,具体如下: 有时候我们会在代码端,动态的设置,添加布局和控件.下面我们就看来看一下如何处理,直接上代码,代码里面的注解很清楚了. 布局文件:fragment_hot.xml 说明:这个部局,我用的是scrollView做为基础布局,主要是为了实现一个滚动.这里不多说,这个你可以使用任何布局都可以,这里的id我是提前定义的. 这里面的现在有的布局是我为了看到我在代码端,动态添加的代码,是否可以追加到现有布局的后面而加上

Android动态添加设置布局与控件的方法

本文实例讲述了Android动态添加设置布局与控件的方法.分享给大家供大家参考,具体如下: 有时候我们会在代码端,动态的设置,添加布局和控件.下面我们就看来看一下如何处理,直接上代码,代码里面的注解很清楚了. 布局文件:fragment_hot.xml 说明:这个部局,我用的是scrollView做为基础布局,主要是为了实现一个滚动.这里不多说,这个你可以使用任何布局都可以,这里的id我是提前定义的. 这里面的现在有的布局是我为了看到我在代码端,动态添加的代码,是否可以追加到现有布局的后面而加上

Android自定义View之自定义评价打分控件RatingBar实现自定义星星大小和间距_Android

在Android开发中,我们经常会用到对商家或者商品的评价,运用星星进行打分.然而在Android系统中自带的打分控件,RatingBar特别不好用,间距和大小无法改变.所以,我就自定义了一个特别好用的打分控件.在项目中可以直接使用,特别简单.下面直接上图: 效果图 实现原理 其实就是自定义View继承LinearLayout ,然后里面动态加了五个ImageView. 实现代码,有详细的注释 在attrs中声明的可以在xml中设置的变量 <declare-styleable name="

Android中,如何让两个控件的尾部对齐?

问题描述 Android中,如何让两个控件的尾部对齐? 10C 比如我用RelativeLayout放置了一个imageview,一个textview.现在我想在用代码动态实现textview的最后一个字与imageview的右边对齐.不管textview里多少字,它只往左边延伸,但右边始终是对齐的. 解决方案 设置置父控件右边就可以宽度自适应 解决方案二: 设置居父控件右边, 解决方案三: 相对于父控件,right 解决方案四: 这个可以用相对布局来实现.因为相对布局中可以用相对于父容器对齐来