El relleno no afecta a <shape> en un diseño XML

Estoy intentando fijar el relleno en un <shape> declarado dentro de un archivo / un formato de XML. Pero lo que sea que establezca, nada cambia relacionado con el relleno. Si modifico otras propiedades, veo los efectos en la interfaz de usuario. Pero no funciona con relleno. ¿Podría usted aconsejar por favor sobre las razones posibles por las cuales esto pudo ocurrir?

Aquí está la forma XML que estoy tratando de estilo:

 <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <stroke android:width="1dp" android:color="#ffffff" android:dashWidth="2dp" /> <solid android:color="@color/button_white_cover" /> <corners android:radius="11dp" /> <padding android:left="1dp" android:top="20dp" android:right="20dp" android:bottom="2dp" /> </shape> 

Finalmente he resuelto mi problema con el relleno.

Así que el relleno aquí no tendrá ningún efecto sobre la forma. En vez de esto, usted tendrá que aplicar el relleno en otro drawable que lo utilizará. Así pues, tengo un dibujable que utilice la forma y allí hago siguiente:

 <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/shape_below"/> <item android:top="10px" android:right="10px" android:drawable="@drawable/shape_cover"/> </layer-list> 

Por lo tanto, como se puede ver en el segundo <item> he establecido el relleno (arriba y derecha). Y después de esto todo funciona.

Gracias.

Como un par de comentarios han aludido a, el mejor enfoque es envolver el <shape> en un <item> y establecer el relleno en su lugar. Sin embargo, hay otras opciones disponibles que se detallan en el siguiente enlace. p.ej

 <item xmlns:android="http://schemas.android.com/apk/res/android" android:left="8dp" android:right="8dp" android:top="8dp" android:bottom="8dp"> <shape android:shape="rectangle"> ... </shape> </item> 

Fuentes:

  • Comentario de DustinB
  • La respuesta de Yahel
  • ¿Cómo agregar el relleno al degradado <forma> en Android?

La respuesta de Lyobomyr funciona, pero aquí está la misma solución aplicada pero sin la sobrecarga de crear un nuevo dibujable, minimizando así el desorden de archivos:

¿Cómo agregar el relleno al degradado <forma> en Android?

He resuelto este problema como este:

 <shape android:shape="oval" > <stroke android:width="4dp" android:color="@android:color/transparent" /> <solid android:color="@color/colorAccent" /> </shape> 

Acaba de añadir un movimiento transparente a la misma.

  • Imagen de fondo de Android 9-Patch Tamaño inicial de PNG?
  • Cómo crear la interfaz de usuario como la foto adjunta
  • Android complejo método onDraw () vs diseño personalizado
  • TextInputLayout no muestra mensaje de error después del borrado
  • Jerarquía de estilo en Android - ¿cuál es el orden de importancia?
  • ¿Cómo puedo hacer que un botón responda mejor?
  • Diseño de GUI no tradicional en Android
  • Diseño de material en sdk antiguo
  • Detectar el evento "botón de inicio presionado" en el servicio android que muestra una interfaz de usuario (similar a los cabezales de chat de Facebook)
  • Creación de un diálogo de preferencias estándar de Android
  • Actualizar la interfaz de usuario desde el subproceso
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.