Android风格的SeekBar

时间:2017-06-13 12:49:23

标签: android android-styles android-seekbar

我想为我的应用Seekbar创建一个样式。我只是想改变拇指和酒吧本身的颜色。

我设法改变了这样的拇指名称:

<style name="MySeekBar" parent="@style/Widget.AppCompat.SeekBar">
    <item name="android:thumbTint"> @color/turquoise </item>        
 </style>

但我不确定如何更改条形图的颜色。我知道如何使用代码,但不是在xml:

seekBar.getProgressDrawable().setColorFilter(getContext().getResources().getColor(R.color.turquoise), Mode.SRC_ATOP);

如何使用xml中定义的样式设置滤色器的样式?

2 个答案:

答案 0 :(得分:3)

您可以使用

android:progressTint

更改搜索栏的进度部分的颜色和

android:progressBackgroundTint

以您的风格更改条形背景的颜色

答案 1 :(得分:0)

android:color atributtes替换为您喜欢的颜色。

<强> background.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="line">

    <stroke android:width="1dp" android:color="#D9D9D9"/>
    <corners android:radius="1dp" />

</shape>

<强> progress.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"
     android:shape="line">

    <stroke android:width="1dp" android:color="#2EA5DE"/>
    <corners android:radius="1dp" />

</shape>

<强> style.xml

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

    <item
        android:id="@android:id/background"
        android:drawable="@drawable/seekbar_background"/>
    <item android:id="@android:id/progress">
        <clip android:drawable="@drawable/seekbar_progress" />
    </item>

</layer-list>

或使用您的SEEKBAR主题如下

由于SeekBar默认使用colorAccent,您可以使用自定义颜色colorAccent创建新样式,然后使用theme属性将其应用于SeekBar。< / p>

<SeekBar>
    .
    .
    android:theme="@style/MySeekBar"
    .
</SeekBar>
@style中的

 <style name="MySeekBar" parent="@style/Widget.AppCompat.SeekBar" >
        <item name="colorAccent">#ffff00</item>
 </style>