如何显示离散滑块的刻度线?

How to show tick marks for Discrete Slider?

我正在尝试将 seekbar/slider 设置为 Material Design Guidelines.我想不出让刻度线出现的神奇咒语,有人知道怎么做吗?

我有一个有 5 个位置 (0-4) 的搜索栏

<SeekBar
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:max="4" />

添加带有样式属性的刻度线:

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

或者通过设置 tickMark 可绘制对象手动添加它们:

<SeekBar
    android:id="@+id/seekBar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:max="10"
    android:tickMark="@drawable/tickmark"
    />

tickmark.xml

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

现在您可以使用 Material 组件库中的 Slider
默认情况下,刻度线显示在离散滑块中。

    <com.google.android.material.slider.Slider
        android:valueFrom="0"
        android:valueTo="10"
        android:stepSize="1"
        .../>