我想在搜索栏中删除标记的颜色(在这种情况下为黄色)。
代码:
<SeekBar
android:id="@+id/seekBar1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:max="20"
android:progress="10"
android:secondaryProgress="0"/>
有一种简单的方法吗?
答案 0 :(得分:1)
见View dev doc。 SeekBar派生自View,你应该尝试在xml定义中使用带有Shape Drawable(纯色)的android:background
修改背景,或者使用setBackgroundColor以编程方式更改颜色。
要删除颜色,应尝试将其设置为纯透明色。
我没有测试过,所以让我们知道如果失败会发生什么。
<强>更新强>
你可以尝试:
定义res/drawable/white_bg.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@android:color/white" />
</shape>
设置SeekBar android:background="@drawable/white_bg"
首先尝试使用纯白色,看看这是否是一个好的开始......
好的,这不起作用。
最终更新
好的,从我定制ProgessBar的我的项目中得到它。由于SeekBar派生自ProgressBar,因此您需要定义res/drawable/seekbar_bg.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<corners android:radius="5dip" />
<gradient
android:startColor="#ff9d9e9d"
android:centerColor="#ff5a5d5a"
android:centerY="0.75"
android:endColor="#ff747674"
android:angle="270"/>
</shape>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="5dip" />
<solid android:color="@android:color/transparent" />
</shape>
</clip>
</item>
</layer-list>
类似于platforms/android-8/data/res/drawable/progress_horizontal.xml
文件(android-8是一个示例)并为您的SeekBar xml定义定义android:progressDrawable="@drawable/seekbar_bg"
属性。
我认为不需要在Layer List中为SeekBar定义@android:id/secondaryProgress
项,但应该对其进行验证......
您还可以通过声明受platforms/android-8/data/res/drawable/seek_thumb.xml
启发的本地选择来重新定义the thumb symbol selector。
有趣的是,我从未使用过SeekBar,因此我学到了很多东西,谢谢! ;)
我对试用/错误方法和多次更新表示歉意......