常用方式
在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"