欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

android修改SeekBar默认样式

程序员文章站 2022-06-02 19:54:14
...

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

<?xml version="1.0" encoding="utf-8"?>
<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>