Zawsze uważam, że obrazy są pomocne podczas uczenia się nowej koncepcji, więc jest to odpowiedź uzupełniająca.
Te %p
środki procent rodzica, czyli procent od najwęższego wymiaru cokolwiek zobaczyć możemy ustawić nasz rozciągliwej dalej. Powyższe obrazy zostały wygenerowane przez zmianę gradientRadius
w tym kodzie
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>
Które można ustawić w background
atrybucie widoku, takim jak ten
<View
android:layout_width="200dp"
android:layout_height="100dp"
android:background="@drawable/my_gradient_drawable"/>
Środek
Możesz zmienić środek promienia za pomocą
android:centerX="0.2"
android:centerY="0.7"
gdzie ułamki dziesiętne to ułamki szerokości i wysokości odpowiednio dla x
i y
.
Dokumentacja
Oto kilka uwag z dokumentacji wyjaśniających nieco więcej.
android:gradientRadius
Promień gradientu, używany tylko z gradientem radialnym. Może być jawnym wymiarem lub wartością ułamkową w stosunku do minimalnego wymiaru kształtu.
Może być wartością zmiennoprzecinkową, na przykład „1,2”.
Może to być wartość wymiaru, która jest liczbą zmiennoprzecinkową z dołączoną jednostką, na przykład „14,5sp”. Dostępne jednostki to: px (piksele), dp (piksele niezależne od gęstości), sp (piksele skalowane w oparciu o preferowany rozmiar czcionki), w (cale) i mm (milimetry).
Może być wartością ułamkową, która jest liczbą zmiennoprzecinkową z dodaniem% lub% p, na przykład „14,5%”. Sufiks% zawsze oznacza procent rozmiaru podstawowego; opcjonalny sufiks% p podaje rozmiar w odniesieniu do pewnego kontenera nadrzędnego.