Android动画效果的定值范围选择控件
2016-09-15 本文已影响281人
Brioal
定值范围选择控件
效果演示:
添加依赖库的步骤
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() |
获取终止的下标 |