android自带的SeekBar样式比较古板,如果我们想让自己的SeekBar炫起来,那么可以考虑使用DiscreteSeekBar。DiscreteSeekBar是GitHub上的一个开源控件,地址https://github.com/AnderWeb/discreteSeekBar,那么我们今天就来看看DiscreteSeekBar的使用。
先来看一张效果图:
上面那个红色的SeekBar就是android自带的SeekBar,下面的是DiscreteSeekBar,当我们拖动的时候,上面会有一个气泡实时显示当前值,我们一起来看看怎么做。
最近刚刚开始使用Android Studio,感觉还不错,所以这个Demo就用As来做了,我们首先要在build.gradle中添加依赖:
compile 'org.adw.library:discrete-seekbar:1.0.0'
下面我们看看上面这个东西的布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin">
<SeekBar
android:id="@+id/seekb2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="100dp"
android:max="100" />
<org.adw.library.widgets.discreteseekbar.DiscreteSeekBar
android:id="@+id/seekb1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:dsb_indicatorColor="#05f75e"
app:dsb_indicatorFormatter="百分之%03d"
app:dsb_indicatorTextAppearance="?android:attr/textAppearanceSmall"
app:dsb_progressColor="#999999"
app:dsb_max="100"
app:dsb_min="0"
app:dsb_trackColor="#440be2"
app:dsb_mirrorForRtl="false"
app:dsb_rippleColor="#fc1307"
app:dsb_value="20" />
</LinearLayout>
第一个SeekBar就是系统自带的SeekBar,第二个就是我们要说的DiscreteSeekBar,我们看看这里每个属性的含义:
dsb_indicatorColor表示气泡的颜色
dsb_progressColor表示SeekBar的颜色
dsb_trackColor表示进度条中那一条细线的颜色
dsb_rippleColor表示手指滑动地方的颜色
dsb_indicatorFormatter表示气泡中文字的显示格式,比如:
app:dsb_indicatorFormatter="百分之%03d"
会显示出“百分之XXX”,%d表示显示数值,0后面的3表示数字显示的位数
dsb_indicatorTextAppearance表示气泡中文本的显示样式
app:dsb_max="100"
app:dsb_min="0" 这两个分别表示DiscreteSeekBar的最大值和最小值
dsb_value表示DiscreteSeekBar的当前值...。
当然,上面这些属性我们也可以在Java代码中进行设置。
Demo下载http://download.csdn.net/detail/u012702547/9306151