常用方式
在xml中直接添加,个人比较倾向于使用支持包中的AppCompatSeekBar控件:
<android.support.v7.widget.AppCompatSeekBar
android:id="@+id/seekBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="2dp"
android:layout_marginEnd="16dp"
android:max="100"
android:paddingStart="0dp"
android:paddingEnd="0dp"
android:splitTrack="false"
android:thumb="@drawable/icon_player_circle" />
效果:
一些设置及问题
设置进度球:
android:thumb="@drawable/icon_player_circle"
设置自定义进度条:
android:progressDrawable="@drawable/seekbar_brightness_selector"
进度条样式drawable/seekbar_brightness_selector.xml:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!--定义seekbar滑动条的底色-->
<item android:id="@android:id/background">
<shape>
<corners android:radius="6dp" />
<solid android:color="#e4e4e4" />
</shape>
</item>
<!--定义seekbar滑动条进度颜色-->
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="6dp" />
<solid android:color="#32b566" />
</shape>
</clip>
</item>
</layer-list>
进度条到控件左右边缘存在大的空隙,如何移除?
android:paddingStart="0dp"
android:paddingEnd="0dp"
进度球在左右边缘被切割1半,如何显示完整?
为其父控件添加以下属性:
android:clipChildren="false"
或者
android:thumbOffset="0dp"
进度球资源图片的透明区域显示白色,失去透明通道,如何恢复?
android:splitTrack="false"
调整进度条的高度
android:maxHeight="12dp"
android:minHeight="12dp"