studio setonseekbarchangelistener personalizado discrete custom configurar android android-seekbar

android - setonseekbarchangelistener - Pulgar SeekBar personalizado que muestra un fondo no deseado



seekbar set value (1)

agregar android:splitTrack="false" , solucionará tu problema. También usaría android:shape="oval" , en lugar de un rectangle con esquinas redondas, para su thumb.xml

He estado tratando de hacer un SeekBar personalizado. Se supone que tiene esquinas redondeadas. Incluso el progreso de SeekBar debería tener esquinas redondeadas en ambos lados. No necesito un pulgar. Algo como esto.

Para lograr esto, he creado un archivo xml de layer-list , denominado custom_seekbar.xml de la siguiente manera:

<?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>

Y para lidiar con el movimiento de la esquina redonda, pensé en usar un pulgar de círculo con una altura igual a la del SeekBar . Aquí está 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>

Y estoy mostrando el SeekBar así en mi actividad:

<SeekBar android:layout_width="250dp" android:layout_height="16dp" android:layout_centerInParent="true" android:progressDrawable="@drawable/custom_seekbar" android:thumb="@drawable/thumb" />

El único problema es el pulgar. No se está mostrando como se esperaba. Tiene un fondo no deseado como este:

Si configuro un pulgar transparente, el progreso ya no es redondo. Incluso traté de usar una forma ovalada para el pulgar. Alguien por favor dime a donde me voy mal? O si hay alguna otra manera puedo lograr los resultados deseados. Cualquier ayuda sería realmente apreciada.