Siempre encuentro útiles las imágenes al aprender un nuevo concepto, así que esta es una respuesta adicional.
Los %p
medios un porcentaje de la matriz, es decir, un porcentaje de la dimensión más estrecha de lo que consideramos que fijamos nuestra dibujable sucesivamente. Las imágenes de arriba fueron generadas cambiando el gradientRadius
en este código
my_gradient_drawable
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:type="radial"
android:gradientRadius="10%p"
android:startColor="#f6ee19"
android:endColor="#115ede" />
</shape>
Que se puede establecer en el background
atributo de una vista como este
<View
android:layout_width="200dp"
android:layout_height="100dp"
android:background="@drawable/my_gradient_drawable"/>
Centrar
Puede cambiar el centro del radio con
android:centerX="0.2"
android:centerY="0.7"
donde los decimales son fracciones del ancho y alto para x
y y
respectivamente.
Documentación
Aquí hay algunas notas de la documentación que explican un poco más las cosas.
android:gradientRadius
Radio del degradado, utilizado solo con degradado radial. Puede ser una dimensión explícita o un valor fraccionario en relación con la dimensión mínima de la forma.
Puede ser un valor de coma flotante, como "1,2".
Puede ser un valor de dimensión, que es un número de punto flotante agregado con una unidad como "14.5sp". Las unidades disponibles son: px (píxeles), dp (píxeles independientes de la densidad), sp (píxeles escalados según el tamaño de fuente preferido), en (pulgadas) y mm (milímetros).
Puede ser un valor fraccionario, que es un número de punto flotante agregado con% o% p, como "14.5%". El sufijo% siempre significa un porcentaje del tamaño base; el sufijo% p opcional proporciona un tamaño relativo a algún contenedor principal.