Android - Как изменить толщину по умолчанию SeekBar?

У меня есть этот SeekBar:

        <SeekBar
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="26dp"
        android:id="@+id/seekbar"
        android:visibility="gone"
        android:maxHeight="3dp"/>

Я попытался изменить толщину SeekBar с помощью maxHeight. Но ничего не изменилось. Это выглядит так:

введите описание изображения здесь

Я хочу изменить толщину SeekBar до 3dp и сделать так: введите описание изображения здесь

Итак, мой вопрос: можно ли как-то изменить толщину SeekBar? Если да, то как?

Ответ 1

Вам нужно сделать следующее:

<SeekBar
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="20dp"
    android:thumb="@drawable/seek"
    android:progressDrawable="@drawable/seek_style"
    />

Большой палец - это круг, который можно перетащить, а progressDrasable - стиль прогресса.

seek_style.xml

<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/secondaryProgress">
        <clip>
            <shape>
                <corners android:radius="5dip" />
                <gradient
                    android:startColor="#80ffd300"
                    android:centerColor="#80ffb600"
                    android:centerY="0.75"
                    android:endColor="#a0ffcb00"
                    android:angle="270"
                    />
            </shape>
        </clip>
    </item>

    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <corners android:radius="5dip" />
                <gradient
                    android:startColor="#ff0099CC"
                    android:centerColor="#ff3399CC"
                    android:centerY="0.75"
                    android:endColor="#ff6699CC"
                    android:angle="270"
                    />
            </shape>
        </clip>
    </item>
</layer-list>

seek.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
    <size
        android:width="20dp"
        android:height="20dp"
        />
    <solid android:color="#60f0"/>
</shape>

Ответ 2

Вы можете изменить толщину вашей панели поиска с помощью атрибутов minHeight и maxHeight

android:minHeight="5dp"

android:maxHeight="5dp"

Вот как я сделал бы это в вашем xml:

<SeekBar
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="26dp"
    android:id="@+id/seekbar"
    android:visibility="gone"
    android:minHeight="5dp"
    android:maxHeight="5dp"/>