studio paletas fondos colores color android

fondos - paletas de colores android studio



¿Cómo agregar relleno a degradado<shape> en Android? (3)

Otra solución usando el recuadro:

<?xml version="1.0" encoding="UTF-8"?> <inset xmlns:android="http://schemas.android.com/apk/res/android" android:insetLeft="6dp" android:insetRight="6dp" > <shape android:shape="rectangle"> <gradient android:startColor="#ccd0d3" android:centerColor="#b6babd" android:endColor="#ccd0d3" android:height="1px" android:angle="0" /> </shape> </inset>

Tengo una forma con un degradado que estoy usando como divisor entre los elementos de ListView . Lo he definido como sigue:

<?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="#ccd0d3" android:centerColor="#b6babd" android:endColor="#ccd0d3" android:height="1px" android:angle="0" /> </shape>

Me gustaría agregar 6 píxeles de relleno a cada lado del degradado, para que no se extienda de borde a borde de la pantalla.

Sin embargo, no importa dónde coloque un android:left="6px" y android:right="6px" , no parece tener efecto. Puedo ponerlo en el elemento <shape> , el elemento <gradient> o en un elemento secundario <padding> de <shape> , y no cambia nada.

¿Cómo puedo agregar el relleno a la izquierda y la derecha de mi divisor de lista?


Supongo que podrías combinarlo así:

<?xml version="1.0" encoding="UTF-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:left="6dp" android:right="6dp"> <shape android:shape="rectangle"> <gradient android:startColor="#ccd0d3" android:centerColor="#b6babd" android:endColor="#ccd0d3" android:height="1px" android:angle="0"/> </shape> </item> </layer-list>


Una solución parece ser "envolver" mi dibujo con otro dibujo que especifica el relleno apropiado.

Por ejemplo, list_divider.xml sería:

<?xml version="1.0" encoding="UTF-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:left="6dp" android:right="6dp" android:drawable="@drawable/list_divider_inner" /> </layer-list>

Y luego list_divider_inner.xml sería el list_divider_inner.xml original:

<?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="#ccd0d3" android:centerColor="#b6babd" android:endColor="#ccd0d3" android:height="1px" android:angle="0" /> </shape>

Esto resulta en dos archivos para especificar un divisor simple sin embargo. No sé si hay una manera de hacerlo con un solo archivo sin embargo.