Android – Custom SeekBar – esquinas redondas en la barra de progreso

Intentando crear un SeekBar personalizado. Quiero lograr esto.

Introduzca aquí la descripción de la imagen

Lo que he hecho hasta ahora es esto. No puedo encontrar una manera de rodear las esquinas en la barra de progreso.

Introduzca aquí la descripción de la imagen

¿Puede alguien ayudar con esto? Aquí está mi código

Main_activity.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:gravity="center"> <SeekBar android:id="@+id/seekBar1" android:layout_width="match_parent" android:layout_height="30dp" android:progressDrawable="@drawable/styled_progress" android:paddingLeft="15dp" android:paddingRight="15dp" android:progress="90" android:thumb="@drawable/thumbler_small" android:maxHeight="30dp" android:layout_marginTop="125dp" android:layout_marginBottom="15dp" android:indeterminate="false" /> </LinearLayout> 

Styleled_progress.xml

 <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@android:id/background"> <shape> <gradient android:startColor="#d2e5ff" android:endColor="#d2e5ff" android:angle="45" /> <corners android:bottomRightRadius="7dp" android:bottomLeftRadius="7dp" android:topLeftRadius="7dp" android:topRightRadius="7dp"/> </shape> </item> <item android:id="@android:id/secondaryProgress"> <clip> <shape> <gradient android:startColor="#808080" android:endColor="#808080" android:angle="270" /> <corners android:bottomRightRadius="7dp" android:bottomLeftRadius="7dp" android:topLeftRadius="7dp" android:topRightRadius="7dp"/> </shape> </clip> </item> <item android:id="@android:id/progress"> <clip> <shape> <gradient android:startColor="#c5e6eb" android:endColor="#61cabb" android:angle="45" /> <corners android:bottomRightRadius="7dp" android:bottomLeftRadius="7dp" android:topLeftRadius="7dp" android:topRightRadius="7dp"/> </shape> </clip> </item> </layer-list> 

Puedes ver la imagen aquí

Este sulotion era la única manera que podía hacer esto. Espero que esto ayude

Este es mi buscador:

  <SeekBar android:id="@+id/simpleProgressBar" android:layout_width="fill_parent" android:layout_height="12dp" android:max="100" android:progress="0" android:background="@null" android:shape="oval" android:splitTrack="false" android:progressDrawable="@drawable/progress_background" android:secondaryProgress="0" android:thumbOffset="10dp" android:thumb="@drawable/oval_seekbar_thumb" /> 

Esto es (progress_background.xml):

 <item android:id="@android:id/background"> <shape android:shape="rectangle"> <corners android:radius="5dp" /> <gradient android:angle="270" android:endColor="@color/grey_line" android:startColor="@color/grey_line" /> </shape> </item> <item android:id="@android:id/secondaryProgress"> <clip> <shape android:shape="oval"> <corners android:radius="5dp" /> <gradient android:angle="270" android:endColor="@color/blue" android:startColor="@color/blue" /> </shape> </clip> </item> <item android:id="@android:id/progress"> <clip> <shape android:shape="rectangle"> <corners android:radius="90dp" /> <gradient android:angle="90" android:endColor="@color/colorPrimaryDark" android:startColor="@color/colorPrimary" /> </shape> </clip> </item> 

Y este es el pulgar (oval_seekbar_thumb.xml):

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="oval"> <solid android:color="#ffffff" /> <stroke android:color="@color/colorPrimaryDark" android:width="3dp"/> <size android:height="12dp" android:width="12dp"/> </shape> </item> </selector> 

La altura del pulgar debe ser la misma que la altura de la barra de búsqueda para mirar correctamente.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.