本文主要是介绍android seekbar的使用。
一、含义
SeekBar是拖动条,是ProgressBar的一个子类,如:音乐播放、音量条、播放进度条等。
效果图:
二、常用属性和方法
属性名 | 含义 |
---|---|
progress | 设置该进度条的最大值 |
progressDrawable | 自定义drawable显示 |
secondaryProgress | 定义二级进度值,值介于0到max。该进度在主进度和背景之间。比如用于网络播放视频时,二级进度用于表示缓冲进度,主进度用于表示播放进度。 |
thumb | 设置进度条的滑块图片 |
splitTrack | 滑块底部 背景样式 (false为透明 ) |
三、基本用法 | |
Java代码里只要setXxx即可 |
android:max="100" //滑动条的最大值
android:progress="60" //滑动条的当前值
android:secondaryProgress="70" //二级滑动条的进度
android:thumb = "@mipmap/sb_icon" //滑块的drawable
getMax() //返回这个进度条的范围的上限getProgress():返回进度
getsecondaryProgress() //返回二级进度
incrementProgressBy(int diff) //指定增加的进度
isIndeterminate() //指示进度条是否在不确定模式下
setIndeterminate(boolean indeterminate) //设置不确定模式下
SeekBar的事件SeekBar.OnSeekBarChangeListener,需重写:
onProgressChanged:进度发生改变时会触发
onStartTrackingTouch:按住SeekBar时会触发
onStopTrackingTouch:放开SeekBar时触发
四、实例
1、自定义滑块的大小
res/drawable/testshape2.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<size android:height="40dp"
android:width="20dp"/>
<solid android:color="#8003a9f4"/>
</shape>
2、定义进度条的样式,其中第一个item 是进度条背景,第二个是当前进度
layer_list.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<solid android:color="#808080" />
</shape>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<solid android:color="#FF96E85D" />
</shape>
</clip>
</item>
</layer-list>
3、主xml文件引用
activity_main.xml
<SeekBar
style="@style/tallerBarStyle"
android:layout_width="400dp"
android:layout_height="100dp"
android:maxHeight="15dp"
android:minHeight="15dp"
android:progressDrawable="@drawable/layer_list"
android:thumb="@drawable/testshape2" />