如何为离散滑块添加选定值的刻度线?

How to add tickmark with selected value for Discrete Sliders?

我正在尝试像 Material 设计网站中显示的 Focused Seekbar 那样设置离散搜索栏的样式,但我不知道如何在显示所选值的栏上添加刻度线

Material Design discrete sliders

我有一个包含 100 个位置的搜索栏,这是我当前的 xml 代码:

<SeekBar
    android:id="@+id/seekBar"
    style="@style/Widget.AppCompat.SeekBar.Discrete"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/mod_quantity_text"
    android:clickable="true"
    android:max="100"
    android:progress="1" />

感谢帮助

您必须在 XML

中添加刻度线拖拽
<SeekBar
    android:id="@+id/seekBar"
    style="@style/Widget.AppCompat.SeekBar.Discrete"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/mod_quantity_text"
    android:clickable="true"
    android:tickMark="@drawable/your_tickmark_drawable"  // this line you have to add
    android:max="100"
    android:progress="1" />

我有创建一个名为 "thumb.xml" 的新绘图的解决方案,其中包含对 png 文件的引用和一个设置为适当级别的参数 android:bottom,以保证拇指在搜索栏(在我的例子中是 50dp):

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:bottom="50dp"
    android:drawable="@drawable/seekbar_thumb"/>
</layer-list>

在此之后,我更改了布局 xml 文件中的 SeekBar 参数,添加了自定义缩略图(和相关颜色):

<SeekBar
        android:id="@+id/seekBar"
        style="@style/Widget.AppCompat.SeekBar"
        android:layout_width="match_parent"
        android:layout_height="95dp"
        android:minHeight="20dp"
        android:clickable="true"
        android:progressBackgroundTint="@color/colorPrimary"
        android:max="100"
        android:thumb="@drawable/thumb"
        android:thumbTint="@color/colorAccent"
        android:progress="1"/>

添加 tickmark drawable 对我不起作用,因为我需要更改和移动拇指。 希望这会有所帮助