Android中SeekBar的问题解决

Android中SeekBar的问题解决

导读: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” 加上这条属性就完美解决掉了,这个属性的意思是分裂轨道属性设为否。

猜你喜欢

转载自blog.csdn.net/song_liang_liang/article/details/81219536