Esempi visivi aiutano con questo tipo di domanda.
boilerplate
Per creare un gradiente, si crea un file XML in res / drawable. Sto chiamando il mio my_gradient_drawable.xml :
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:type="linear"
android:angle="0"
android:startColor="#f6ee19"
android:endColor="#115ede" />
</shape>
Lo si imposta sullo sfondo di una vista. Per esempio:
<View
android:layout_width="200dp"
android:layout_height="100dp"
android:background="@drawable/my_gradient_drawable"/>
digitare = "lineare"
Impostare angle
per un linear
tipo. Deve essere un multiplo di 45 gradi.
<gradient
android:type="linear"
android:angle="0"
android:startColor="#f6ee19"
android:endColor="#115ede" />
digitare = "radiale"
Impostare gradientRadius
per un radial
tipo. Utilizzando %p
significa che è una percentuale della dimensione più piccola del genitore.
<gradient
android:type="radial"
android:gradientRadius="10%p"
android:startColor="#f6ee19"
android:endColor="#115ede" />
digitare = "sweep"
Non so perché qualcuno dovrebbe usare uno sweep, ma lo sto includendo per completezza. Non riuscivo a capire come cambiare l'angolazione, quindi includo solo un'immagine.
<gradient
android:type="sweep"
android:startColor="#f6ee19"
android:endColor="#115ede" />
centro
Puoi anche cambiare il centro dello sweep o dei tipi radiali. I valori sono frazioni di larghezza e altezza. Puoi anche usare la %p
notazione.
android:centerX="0.2"
android:centerY="0.7"