Android实现动态定值范围效果的控件
短信预约 -IT技能 免费直播动态提醒
先来看看效果:
一、添加依赖库的步骤
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 ListView内数据的动态添加与删除实例代码Android实现ListView数据动态加载的方法Android实现listview动态加载数据分页的两种方法Android判断touch事件点是否在view范围内的方法如何让安卓(Android)子控件超出父控件的范围显示Android百度地图poi范围搜索一看就懂的Android APP开发入门教程Android基础之使用Fragment控制切换多个页面六款值得推荐的android(安卓)开源框架简介Android应用开发SharedPreferences存储数据的使用方法
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341