样式设置
<!--进度条样式-->
android:progressDrawable="@drawable/seekbar_style"<!--进度条颜色-->
android:progressTint="@android:color/red"<!--进度条背景颜色-->
android:progressBackgroundTint="@android:color/white"<!--滑块样式-->
android:thumb="@drawable/ic_thumb_bicycle"<!--滑块颜色-->
android:thumbTint="@color/red"
PS: 当同时使用自定义的滑块样式和进度条样式时,若需保持进度条为线状(否则高度将于滑块高度一致),可增加以下属性:<!--限制进度条高度,不影响滑块大小-->
android:maxHeight="2dp"
JAVA代码控制
seekBar.getThumb().setColorFilter(Color.RED, PorterDuff.Mode.SRC_ATOP);//滑块
seekBar.getProgressDrawable().setColorFilter(Color.RED, PorterDuff.Mode.SRC_ATOP);//进度条
设置左右空白
android.widget.SeekBar左右有空白:
使用: android:paddingStart="0dp" android:paddingEnd="0dp" 可以去掉空白
设置thumb:seekbar_progress_thumb.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#FFFFFF" />
<size
android:width="@dimen/dp7"
android:height="@dimen/dp7"/>
</shape>
设置progressDrawable:seekbar_progress_drawable.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<corners android:radius="1dp" />
<solid android:color="#DFDFDF" />
</shape>
</item>
<item>
<clip>
<shape>
<corners android:radius="1dp" />
<solid android:color="#444343" />
</shape>
</clip>
</item>
</layer-list>
设置thumbOffset:去掉偏移量
android:thumbOffset="0dp"
整体样式代码:
<SeekBar
android:id="@+id/edit_ProgressBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:thumb="@mipmap/icon_play"
android:layout_below="@id/iv_play"
android:max="100"
android:progress="20"
android:maxHeight="2dp"
android:paddingStart="0dp"
android:paddingEnd="0dp"
android:thumbOffset="0dp"
android:progressDrawable="@drawable/seekbar_progress_drawable"
android:layout_marginStart="18dp"
android:layout_marginTop="15dp"
android:layout_marginEnd="18dp" />