Ich finde Bilder immer hilfreich, wenn ich ein neues Konzept lerne, daher ist dies eine ergänzende Antwort.
Die %p
Mittel ein Prozentsatz der Eltern, das heißt, ein Prozentsatz der schmalste Dimension was sehen wir unsere ziehbar setzen auf. Die obigen Bilder wurden durch Ändern des gradientRadius
in diesem Code erzeugten erzeugt
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>
Welches kann auf das background
Attribut einer Ansicht wie folgt eingestellt werden
<View
android:layout_width="200dp"
android:layout_height="100dp"
android:background="@drawable/my_gradient_drawable"/>
Center
Sie können den Mittelpunkt des Radius mit ändern
android:centerX="0.2"
android:centerY="0.7"
wobei die Dezimalstellen Bruchteile der Breite und Höhe für x
bzw. y
sind.
Dokumentation
Hier sind einige Anmerkungen aus der Dokumentation , die die Dinge etwas näher erläutern.
android:gradientRadius
Radius des Gradienten, wird nur mit radialem Gradienten verwendet. Kann eine explizite Bemaßung oder ein Bruchwert relativ zur Mindestbemaßung der Form sein.
Kann ein Gleitkommawert sein, z. B. "1.2".
Kann ein Dimensionswert sein, bei dem es sich um eine Gleitkommazahl handelt, an die eine Einheit wie "14.5sp" angehängt ist. Verfügbare Einheiten sind: px (Pixel), dp (dichteunabhängige Pixel), sp (skalierte Pixel basierend auf der bevorzugten Schriftgröße), in (Zoll) und mm (Millimeter).
Kann ein Bruchwert sein, bei dem es sich um eine Gleitkommazahl handelt, an die entweder% oder% p angehängt ist, z. B. "14,5%". Das Suffix% bedeutet immer einen Prozentsatz der Basisgröße. Das optionale Suffix% p gibt eine Größe relativ zu einem übergeordneten Container an.