workAndroid 中的那些坑

android seekbar 踩坑之路

2016-09-23  本文已影响3009人  mtvVip

最近项目中有用到seekbar,之前对这东西不太了解,趁机来踩坑。

seekbar样式

按我觉得Material 中的还不算难看了。但是美工给了自己的样式,还是得改。
主要有这2个属性:

android:thumb="@drawable/thumb"
android:progressDrawable="@drawable/seekbar_progress"

thumb 指的是进度条上那个滑块,progressDrawable 指的是进度条。

seekbar

这是progressDrawable :

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@android:id/background">
        <shape>
            <solid android:color="#bfbfbf" />
       </shape>
    </item> 
   <item android:id="@android:id/secondaryProgress">
        <clip>
            <shape>
                <solid android:color="#4765e5" />
            </shape>
        </clip>
    </item>
    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <solid android:color="#4765e5" />
            </shape>
        </clip>
    </item>
</layer-list>

这里说一下,android:id="@android:id/background" 背景指的是上图中灰色的部分。android:id="@android:id/progress"是蓝色部分。自己一开始把secondaryProgress 和background 给搞混了。

thumb的话就是简单的一张图片,再指定一下大小,seekbar默认是有10dp 的height的。

android:maxHeight="5dip"
android:minHeight="5dip"

这样大概就能得到图中的样子了。
然后,最后。跑起来发现滑块thumb四周竟然不是透明的。扯蛋! 赶紧去看了一下icon 发现icon四周是透明的没错。又一阵蛋疼。查一下发现,原来 The Material seek bar has split track enabled by default
所以我们要把它disable掉。
android:splitTrack="false"

Over

上一篇 下一篇

猜你喜欢

热点阅读