Android - Seekbar 刻度线颜色无法更改

Android - Seekbar tick mark color not able to change

我正在使用离散搜索栏。我想更改刻度线的颜色。我正在尝试如下。

<SeekBar
        android:id="@+id/seekBar"
        style="@style/Widget.AppCompat.SeekBar.Discrete"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:max="10"
        android:thumbTint="@color/colorPrimary"
        android:tickMarkTint="@color/colorAccent"/>

我还创建样式并应用到 tickMark 中。

drw_bg_tickmark.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval"
    android:tint="@color/colorAccent">
    <corners android:radius="4dp"/>
    <size android:width="10dp"
        android:height="10dp" />
    <solid android:color="@color/colorAccent" />
</shape>

应用于seekbar

android:tickMark="@drawable/drw_bg_tickmark"

但是我无法删除搜索栏中的灰色勾号。请帮我解决这个问题。

为您的搜索栏创建样式

 <resources>
        <style name="SeekBarWithoutSteps" parent="Base.Widget.AppCompat.SeekBar.Discrete">
            <item name="tickMark">@null</item>
        </style>
    </resources>



<SeekBar
        android:id="@+id/seekBar"
        style="@style/SeekBarWithoutSteps"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:max="10"
        android:thumbTint="@color/colorPrimary"
        android:tickMarkTint="@color/colorAccent"/>

如果你想删除灰色 ticks/balls 你可以删除样式,然后将你的 drawable 应用到 android:tickMark

<SeekBar
    android:id="@+id/seekBar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:max="10"
    android:tickMark="@drawable/drw_bg_tickmark"
    android:thumbTint="@color/colorPrimary"
    android:tickMarkTint="@color/colorAccent"/>