本来想实现下图效果:
可实际自己写的确实下图的效果(注意红框位置):
解决方法:
在SeekBar中添加下面属性,值必须设置0dp
android:thumbOffset="0dp"
下面再说下seekbar的基本使用吧,也给自己记录下:
seekbar的xml文件:
1、maxHeight和minHeight值保持一样控制进度条的高度
2、progressDrawable显示进度条底色、缓冲、播放进度对应的颜色
3、thumb自定义滑块的图片
<SeekBar
android:id="@+id/sb_progress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="100"
android:maxHeight="6dp"
android:minHeight="6dp"
android:paddingEnd="0dp"
android:paddingStart="0dp"
android:thumbOffset="0dp"
android:progressDrawable="@drawable/seekbar_videoplay_style"
android:thumb="@mipmap/media_thumb" />
对应的进度颜色文件seekbar_videoplay_style.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="@color/white_degree_60" />
</shape>
</item>
<!--缓冲进度色-->
<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<solid android:color="@color/tt_white" />
</shape>
</clip>
</item>
<!--播放进度色-->
<item android:id="@android:id/progress">
<clip>
<shape>
<solid android:color="@color/tt_yellow" />
</shape>
</clip>
</item>
</layer-list>
seekbar的滑动监听
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
//seekbar进度改变调用
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
//手接触seekbar的时候调用
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
//手离开seekbar的时候调用
}
});
seekbar的简单使用就这些。over