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>