作者:copy自同时
导读:seekBar拖动条,滑块条,在做易牙美项目中遇到了,之前项目中很少遇到,故记录下
系统自带的seekBar满足不了UI的设计图,所以要自定义seekBar的样式。
改变了样式之后,滑块挡住了两端的线条,没发解决受困,后来让滑块背景透明解决了。
先讲讲更改样式
先看下UI的设计图
首先进度条底部是灰色的,按钮是ui切图,有进度的是绿色
<SeekBar
android:id="@+id/seek_bar"
android:padding="0dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxHeight="4px"
android:minHeight="4px"
android:max="200"
android:progress="100"
android:splitTrack="false"
android:progressDrawable="@drawable/seekbar_progress_on"
android:thumb="@mipmap/ic_circle_drag" />
android:thumb=”@mipmap/ic_circle_drag”
这句好理解就是设置滑块,UI给的圆形按钮
android:progressDrawable=”@drawable/seekbar_progress_on”
这句就是要改变进度条的样式,样式代码如下
<?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/seek_gray" />
</shape>
</item>
<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<solid android:color="@color/seek_gray" />
</shape>
</clip>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<solid android:color="@color/main_green" />
</shape>
</clip>
</item>
</layer-list>
进度条是分为3段的,第一段:没有进度,设成灰色;第二段:缓冲进度,我们没有所以也设成灰的;第三段:有进度,设成绿色。
这样就以为大功告成了,但是UI说不符合要求,线没连上
UI调整,线没连上
看图
线条我只做了样式,所以不是线条的事,那就是滑块的问题,但是滑块是UI给的切图,那是为什么会这样?
后来想到让滑块透明,经过百度,android:splitTrack=”false” 加上这条属性就完美解决掉了,这个属性的意思是分裂轨道属性设为否。