有没有办法更改SeekBar android小部件中的黄色颜色?有什么解决方法吗?
步骤1:创建您的图像可绘制对象(9-Patch)
在创建任何XML可绘制对象之前,请确保创建所需的图像可绘制对象(包括一个9-Patch可绘制对象),用于SeekBar背景、手柄和进度部分。 9-Patch可绘制对象将在下面的步骤中使用XML可绘制对象。
创建以下可绘制对象并将它们放置在/res/drawable/文件夹中:
步骤2:SeekBar进度可绘制对象
现在为Android SeekBar进度(示例中的蓝色条纹部分)创建一个XML可绘制对象,将其命名为seekbar_progress_bg.xml,并将其放置在/res/drawable/文件夹中:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<clip>
<shape>
<gradient
android:startColor="#FF5e8ea3"
android:centerColor="#FF32a0d2"
android:centerY="0.1"
android:endColor="#FF13729e"
android:angle="270"
/>
</shape>
</clip>
</item>
<item>
<clip>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/stripe_bg"
android:tileMode="repeat"
android:antialias="true"
android:dither="false"
android:filter="false"
android:gravity="left"
/>
</clip>
</item>
</layer-list>
上述XML首先绘制了一个半透明的蓝色渐变,然后在渐变的顶部叠加了半透明条纹图像。代码的突出显示行(第20行)是指在第1步中创建的drawable文件夹内的条纹(半透明)图像。
有关通过XML创建自定义形状的更多信息,请查看Android drawable资源文档,特别是位图和形状部分。
第三步:SeekBar背景Drawable
接下来创建主要的SeekBar进度Drawable;它将为SeekBar进度和secondaryProgress操作分配一个Drawable。将Drawable命名为seekbar_progress.xml,并将其放置在/res/drawable/文件夹中:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<nine-patch
xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/seekbar_background"
android:dither="true"
/>
</item>
<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<gradient
android:startColor="#80028ac8"
android:centerColor="#80127fb1"
android:centerY="0.75"
android:endColor="#a004638f"
android:angle="270"
/>
</shape>
</clip>
</item>
<item
android:id="@android:id/progress"
android:drawable="@drawable/seekbar_progress_bg"
/>
</layer-list>
<SeekBar
android:id="@+id/frequency_slider"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:max="20"
android:progress="0"
android:secondaryProgress="0"
android:progressDrawable="@drawable/seekbar_progress"
android:thumb="@drawable/seek_thumb"
/>