ventajas vectoriales vectorial usos una mapas mapa imagenes imagen graficos entre diferencia desventajas definicion cuál cuadro comparativo caracteristicas android android-layout bitmap shape layer-list

android - vectoriales - ¿Cómo agrego el relleno a un mapa de bits y un color en una lista de capas?



ventajas y desventajas de mapa de bits (4)

Necesito crear un dibujo con una lista de capas tal que la capa de fondo sea una imagen y el primer plano sea un color transparente. Soy capaz de hacer eso. Donde no estoy teniendo éxito es agregar un poco de relleno / margen para que en la parte inferior se muestre una parte de las imágenes sin la capa de color en la parte superior. Aquí está mi xml. Gracias por ayudar.

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <bitmap android:src="@drawable/img1" /> </item> <item> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <solid android:color="@color/color1" /> <padding android:bottom="20dp" /> </shape> </item> </layer-list>

Como esta configuración no funciona, mi conjetura es colocar el relleno en la primera capa. Pero no estoy seguro de cómo hacerlo con un mapa de bits


Envuelva el mapa de bits dentro de un recuadro que se pueda dibujar y configure su relleno allí


Mueva el relleno inferior de la shape al item principal:

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <bitmap android:src="@drawable/img1" /> </item> <item android:bottom="20dp"> <shape android:shape="rectangle" > <solid android:color="@color/color1" /> </shape> </item> </layer-list>

Consulte http://idunnolol.com/android/drawables.html#layer-list para obtener más información.


Si agrega el dibujo al mismo elemento en la lista de capas, puede aplicar propiedades como android:top , android:bottom , android:left o android:right para manejar el relleno.

Solucioné mi problema con el dibujable que no estaba alineado con TextView simplemente usando las propiedades de android:width y android:height .

P.ej

<item android:width="26dp" android:height="26dp" android:drawable="@drawable/ic_person"> <shape android:shape="rectangle" > <solid android:color="@android:color/transparent" /> </shape> </item>


<?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="#FFE3F5F2"/> </shape> </item> <item android:bottom="7dp" android:left="7dp" android:right="7dp" android:top="7dp"> <bitmap android:src="@drawable/ic_link"> </bitmap> </item> </layer-list>