android修改SeekBar默认样式

最近在写android小项目的时候需要用到SeekBar控件,由于我把activity的背景设置为黑色,所以默认的SeekBar在黑色背景会出现背景进度条被黑色覆盖看不见的情况,如下图所示,后面的背景没了,不美观。
android修改SeekBar默认样式_第1张图片
后来经查资料,修改SeekBar默认样式,progressDrawable可以改变背景颜色,这里改为白色,但是会发现SeekBar变大了,背景非常不美观,故需要设置maxHeight和minHeight,改变SeekBar的宽度,如下图。
android修改SeekBar默认样式_第2张图片
改变完效果如下图下面那条SeekBar的样式。显然还出现一个问题,就是SeekBar圆点左右分割的颜色变一样了,这是不能接受的,所以继续捣鼓。变成下图第一个SeekBar的样式。
android修改SeekBar默认样式_第3张图片
这时需要用到额外的seek_bar_style.xml赋值给progressDrawable。
android修改SeekBar默认样式_第4张图片
seek_bar_style.xml代码如下,其中clip属性非常重要,是分割颜色的关键。至此,改变SeekBar默认样式的坑算是踩完了。


<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@android:id/background"
          android:drawable="@color/colorWhite">
    item>
    <item android:id="@android:id/progress">
        <clip android:drawable="@color/colorAccent">
        clip>
    item>
layer-list>

你可能感兴趣的:(android)