studio programacion móviles libro desarrollo curso aplicaciones android seekbar android-seekbar

programacion - Android-¿Cómo cambiar el grosor predeterminado de SeekBar?



programacion android pdf 2018 (3)

Deberías hacer esto:

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

El pulgar es el círculo que se puede arrastrar, y la función Progresible es el estilo de progreso.

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>

Tengo este 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"/>

He intentado cambiar este grosor de SeekBar utilizando maxHeight. Pero nada cambió. Se parece a esto:

Quiero cambiar el grosor de este SeekBar a 3dp y hacer que se vea así:

¿Entonces mi pregunta es posible cambiar el grosor de SeekBar de alguna manera? Si es así, ¿cómo?


Puede cambiar el grosor de su barra de búsqueda utilizando los atributos maxHeight y maxHeight

android:minHeight="5dp"

android:maxHeight="5dp"

Así es como lo haría en tu 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"/>


Tienes que cambiar progressDrawable y el thumb de SeekBar para ajustar su grosor:

<SeekBar android:id="@+id/seekBar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/indSeekBar" android:layout_marginTop="48dp" android:progressDrawable="@drawable/seek_bar" android:thumb="@drawable/seek_thumb" />

Agregue en la carpeta drawable seek_bar.xml :

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@android:id/background"> <shape android:shape="line"> <stroke android:color="@color/seek_bar_background" android:width="@dimen/seek_bar_thickness"/> </shape> </item> <item android:id="@android:id/progress"> <clip> <shape android:shape="line"> <stroke android:color="@color/seek_bar_progress" android:width="@dimen/seek_bar_thickness"/> </shape> </clip> </item> <item android:id="@android:id/secondaryProgress"> <clip> <shape android:shape="line"> <stroke android:color="@color/seek_bar_secondary_progress" android:width="@dimen/seek_bar_thickness"/> </shape> </clip> </item> </layer-list>

seek_thumb.xml :

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <size android:height="@dimen/seek_bar_thumb_size" android:width="@dimen/seek_bar_thumb_size" /> <solid android:color="@color/seek_bar_progress"/> </shape>

Agregar a los recursos de dimensión (cambiar esto para ajustar el espesor):

<dimen name="seek_bar_thickness">4dp</dimen> <dimen name="seek_bar_thumb_size">20dp</dimen>

Añadir recursos de color:

<color name="seek_bar_background">#ababab</color> <color name="seek_bar_progress">#ffb600</color> <color name="seek_bar_secondary_progress">#3399CC</color>