android自定义Seekbar

SeekBar两个属性比较重要:

progressDrawable: 表示SeekBar的背景色;thumb 表示滑动的图片。

有两点需要注意:

1、通常设置thumb后,滑动图片会被隐藏一部分。设置thumbOffset就可以解决该问题

android:thumbOffset="0dp"  

 

2、需要修改滑动SeekBar过程中的填充颜色,需要建立一个drawable文件,

如名为seekbar_style.xml 具体代码如下?

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">  

    <item android:id="@android:id/background">  

        <shape>  

            <corners android:radius="10dip" />  

            <gradient android:startColor="#ffffffff"  

                android:centerColor="#ffffffff" android:endColor="#ffffffff"  

                android:centerY="0.45" android:angle="270" />  

        </shape>  

    </item>  

    <item android:id="@android:id/progress">  

        <clip>  

            <shape>  

                <corners android:radius="10dip" />  

                <gradient android:startColor="#FF75BC32"  

                    android:centerColor="#FF75BC32" android:endColor="#FF75BC32"  

                    android:centerY="0.45" android:angle="270" />  

            </shape>  

        </clip>  

    </item>  

</layer-list>  

background设置的是SeekBar的默认背景颜色; progress 设置的是滑动过程中填充的颜色。

3、设置滑动杆粗细,设置maxHeight和minHeight为同一值即可,如

android:maxHeight="8dip"  

android:minHeight="8dip"  

完整的SeekBar样式代码如下:

<SeekBar  

           android:layout_marginLeft="25dp"  

           android:thumb="@drawable/flower_img"  

           android:layout_width="327dp"  

           android:layout_height="18dp"  

           android:thumbOffset="0dp"  

           android:maxHeight="4dp"  

           android:minHeight="4dp"  

           android:progressDrawable="@drawable/seekbar_style"  

           android:id="@+id/seekBarVolume">

</SeekBar>  

 

效果图如下:

 设置透明背景可以通过设置background完成

android:background="#00000000"即可

半透明 android:background="#7F000000"即可。

原文地址:https://www.cnblogs.com/fx2008/p/3133219.html