Próbowałem wykonać niestandardowy SeekBar
. To ma mieć zaokrąglone rogi. Nawet postęp SeekBar
powinien mieć zaokrąglone rogi po obu stronach. Nie potrzebuję kciuka. Coś takiego.Niestandardowy kciuk SeekBar pokazujący niechciane tło
Aby to osiągnąć, zrobiłem plik layer-list
xml, nazwany custom_seekbar.xml następująco:
<?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>
I do czynienia z ruchomym rogiem, myślałem o za pomocą kręgu kręgu o wysokości równej wysokości SeekBar
. Oto 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>
A ja pokazując SeekBar
takiego w mojej działalności:
<SeekBar
android:layout_width="250dp"
android:layout_height="16dp"
android:layout_centerInParent="true"
android:progressDrawable="@drawable/custom_seekbar"
android:thumb="@drawable/thumb" />
Jedynym problemem jest kciuk. Nie wyświetla się zgodnie z oczekiwaniami. Ma niechcianego tła takiego:
Jeżeli ustawić przezroczystą kciuk, postęp nie jest okrągła więcej. Próbowałem nawet użyć kształtu kciuka o kształcie Oval. Ktoś proszę mi powiedzieć, gdzie się źle wybieram? Lub jeśli jest jakiś inny sposób, mogę osiągnąć pożądane rezultaty. Każda pomoc będzie naprawdę doceniona.
utworzyć niestandardowy 'Drawable' klasę i używać go przez wywołanie' setProgressDrawable' jak w [tym] (http://stackoverflow.com/a/ 21060826/2252830) odpowiedź – pskink
Utwórz plik thumb.xml przy użyciu listy warstw – Pavya
@ user3676184 czy możesz pokazać mi, jak to zrobić. Próbowałem wielu rzeczy, ale nie mogłem dostać tego, czego chcę. – Anjani