Я пытался создать пользовательский SeekBar
. Он должен иметь круглые углы. Даже прогресс SeekBar
должен иметь круглые углы с обеих сторон. Мне не нужен большой палец. Что-то вроде этого.
Чтобы достичь этого, я создал файл xml layer-list
именем custom_seekbar.xml следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape android:shape="rectangle">
<corners android:radius="20dp" />
<solid android:color="#F0E9DC" />
</shape>
</item>
<item android:id="@android:id/secondaryProgress">
<clip>
<shape android:shape="rectangle">
<corners android:radius="20dp" />
<solid android:color="#F0E9DC" />
</shape>
</clip>
</item>
<item android:id="@android:id/progress">
<clip>
<shape android:shape="rectangle">
<corners android:radius="20dp" />
<solid android:color="#E38F71" />
</shape>
</clip>
</item>
</layer-list>
И чтобы иметь дело с движущимся круглым углом, я думал об использовании большого пальца круга с высотой, равной высоте SeekBar
. Здесь thumb.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<size android:height="16dp"
android:width="16dp"/>
<corners android:radius="20dp"/>
<solid android:color="#E38F71"/>
</shape>
И я показываю SeekBar
как это в своей деятельности:
<SeekBar
android:layout_width="250dp"
android:layout_height="16dp"
android:layout_centerInParent="true"
android:progressDrawable="@drawable/custom_seekbar"
android:thumb="@drawable/thumb" />
Единственная проблема - большой палец. Он не отображается, как ожидалось. У этого есть нежелательный фон как это:
Если я установил прозрачный палец, прогресс уже не круглый. Я даже пытался использовать овальную форму для большого пальца. Кто-нибудь, пожалуйста, скажите мне, где я ошибаюсь? Или, если есть какой-то другой способ, я могу достичь желаемых результатов. Любая помощь могла бы быть полезна.