transparente - widget barra busqueda google android
Barra de búsqueda personalizada(tamaño del pulgar, color y fondo) (8)
Me gustaría tener esta barra de búsqueda en mi proyecto de Android:
Esta es mi barra de búsqueda:
<SeekBar
android:id="@+id/seekBar_luminosite"
android:layout_width="@dimen/seekbar_width"
android:layout_height="@dimen/seekbar_height"
android:minHeight="15dp"
android:minWidth="15dp"
android:maxHeight="15dp"
android:maxWidth="15dp"
android:progress="@integer/luminosite_defaut"
android:progressDrawable="@drawable/custom_seekbar"
android:thumb="@drawable/custom_thumb" />
Este es mi custom_thumb.xml:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval" >
<gradient
android:angle="270"
android:endColor="@color/colorDekraOrange"
android:startColor="@color/colorDekraOrange" />
<size
android:height="35dp"
android:width="35dp" />
</shape>
Este es mi custom_seekbar.xml:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@android:id/background"
android:drawable="@drawable/seekbar"/>
<item android:id="@android:id/progress">
<clip android:drawable="@color/colorDekraYellow" />
</item>
</layer-list>
Este es mi seekbar.png (fondo):
Sin sombras ni bordes redondeados en la barra ...
Realmente no entiendo cómo puedo hacerlo.
Sin sombras ni bordes redondeados en la barra.
Estás utilizando una imagen, así que la solución más fácil es remar tu bote con el flujo,
No puede dar alturas manualmente, sí, pero asegúrese de que tenga suficiente espacio para mostrar su vista de imagen completa allí
-
la manera más fácil es usar
android:layout_height="wrap_content"
paraSeekBar
- Para obtener bordes redondeados más claros, puede usar fácilmente la misma imagen que usó con otro color.
No soy bueno con Photoshop, pero logré editar uno de fondo para una prueba
seekbar_brown_to_show_progress.png
<SeekBar
android:splitTrack="false" // for unwanted white space in thumb
android:id="@+id/seekBar_luminosite"
android:layout_width="250dp" // use your own size
android:layout_height="wrap_content"
android:minHeight="10dp"
android:minWidth="15dp"
android:maxHeight="15dp"
android:maxWidth="15dp"
android:progress="50"
android:progressDrawable="@drawable/custom_seekbar_progress"
android:thumb="@drawable/custom_thumb" />
custom_seekbar_progress.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@android:id/background"
android:drawable="@drawable/seekbar" />
<item android:id="@android:id/progress">
<clip android:drawable="@drawable/seekbar_brown_to_show_progress" />
</item>
</layer-list>
custom_thumb.xml es igual que el tuyo
Finalmente
android:splitTrack="false"
eliminará el espacio en blanco no deseado en su pulgar
Echemos un vistazo a la salida:
Al principio, la cortesía es para @Charuka .
HACER
Puede usar
android:progressDrawable="@drawable/seekbar"
lugar de
android:background="@drawable/seekbar"
.
progressDrawable utilizado para el modo de progreso.
Deberías probar con
Define la altura mínima de la vista. No se garantiza que la vista pueda alcanzar esta altura mínima (por ejemplo, si su diseño principal la limita con menos altura disponible).
Define el ancho mínimo de la vista. No se garantiza que la vista pueda alcanzar este ancho mínimo (por ejemplo, si su diseño principal lo limita con menos ancho disponible)
android:minHeight="25p"
android:maxHeight="25dp"
FYI:
Usar android: minHeight y android: maxHeight no es una buena solución. Necesita rectificar su barra de búsqueda personalizada (desde el nivel de clase) .
Puedes probar la barra de progreso en lugar de la barra de búsqueda
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:layout_marginBottom="35dp"
/>
SeekBar personalizado de Android: seguimiento o progreso personalizado, forma, tamaño, fondo y pulgar y para otras personalizaciones de barra de búsqueda, visite http://www.zoftino.com/android-seekbar-and-custom-seekbar-examples
Pista personalizada dibujable
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background"
android:gravity="center_vertical|fill_horizontal">
<shape android:shape="rectangle"
android:tint="#ffd600">
<corners android:radius="8dp"/>
<size android:height="30dp" />
<solid android:color="#ffd600" />
</shape>
</item>
<item android:id="@android:id/progress"
android:gravity="center_vertical|fill_horizontal">
<scale android:scaleWidth="100%">
<selector>
<item android:state_enabled="false"
android:drawable="@android:color/transparent" />
<item>
<shape android:shape="rectangle"
android:tint="#f50057">
<corners android:radius="8dp"/>
<size android:height="30dp" />
<solid android:color="#f50057" />
</shape>
</item>
</selector>
</scale>
</item>
</layer-list>
Pulgar personalizado dibujable
?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"
android:thickness="4dp"
android:useLevel="false"
android:tint="#ad1457">
<solid
android:color="#ad1457" />
<size
android:width="32dp"
android:height="32dp" />
</shape>
Salida
Todo hecho en
XML
(sin imágenes
.png
).
El bit inteligente es
border_shadow.xml
.
Todo sobre los
vectors
estos días ...
Captura de pantalla:
Esta es su
SeekBar
(
res/layout/???.xml
):
Barra de busqueda
<SeekBar
android:id="@+id/seekBar_luminosite"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:progress="@integer/luminosite_defaut"
android:progressDrawable="@drawable/seekbar_style"
android:thumb="@drawable/custom_thumb"/>
Hagamos que sea elegante (para que pueda personalizarlo fácilmente más adelante):
estilo
res/drawable/seekbar_style.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"
android:drawable="@drawable/border_shadow" >
</item>
<item
android:id="@android:id/progress" >
<clip
android:drawable="@drawable/seekbar_progress" />
</item>
</layer-list>
pulgar
res / drawable / custom_thumb.xml:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="oval">
<solid android:color="@color/colorDekraOrange"/>
<size
android:width="35dp"
android:height="35dp"/>
</shape>
</item>
</layer-list>
Progreso
res/drawable/seekbar_progress.xml
:
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/progressshape" >
<clip>
<shape
android:shape="rectangle" >
<size android:height="5dp"/>
<corners
android:radius="5dp" />
<solid android:color="@color/colorDekraYellow"/>
</shape>
</clip>
</item>
</layer-list>
sombra
res/drawable/border_shadow.xml
:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<corners
android:radius="5dp" />
<gradient
android:angle="270"
android:startColor="#33000000"
android:centerColor="#11000000"
android:endColor="#11000000"
android:centerY="0.2"
android:type="linear"
/>
</shape>
</item>
</layer-list>
Usa tintes;)
<SeekBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="15dp"
android:minWidth="15dp"
android:maxHeight="15dp"
android:maxWidth="15dp"
android:progress="20"
android:thumbTint="@color/colorPrimaryDark"
android:progressTint="@color/colorPrimary"/>
use el color que necesita en thumbTint y progressTint. ¡Es mucho más rápido! :)
Edite ofc que puede usar en combinación con
android:progressDrawable="@drawable/seekbar"
android: minHeight android: maxHeight es importante para eso.
<SeekBar
android:id="@+id/pb"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxHeight="2dp"
android:minHeight="2dp"
android:progressDrawable="@drawable/seekbar_bg"
android:thumb="@drawable/seekbar_thumb"
android:max="100"
android:progress="50"/>
seekbar_bg.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>
<corners android:radius="3dp" />
<solid android:color="#ECF0F1" />
</shape>
</item>
<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<corners android:radius="3dp" />
<solid android:color="#C6CACE" />
</shape>
</clip>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="3dp" />
<solid android:color="#16BC5C" />
</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="oval">
<solid android:color="#16BC5C" />
<stroke
android:width="1dp"
android:color="#16BC5C" />
<size
android:height="20dp"
android:width="20dp" />
</shape>
-
En primer lugar, use
android:splitTrack="false"
para el problema de transparencia de su pulgar. -
Para el seekbar.png, debes usar un parche 9 . Sería bueno para el borde redondeado y la sombra de su imagen.