Ich habe versucht, einen mehrfarbigen Hintergrund in XML zu erstellen, aber es sind nur drei Optionen für Start, Mitte, Ende und angegebene Winkel verfügbar. Können wir nicht Hintergründe wie diese machen ..
Können wir diesen Hintergrund in Android machen?
Sie können keine +3-Verlaufsfarbe in einer XML-Datei implementieren. Sie können dies aber in Ihren Java/Kotlin-Code mit der Klasse GradientDrawable einbinden. Dies ist die Java-Version. Ersetzen Sie das Farbfeld durch Ihre Farb-IDs.
GradientDrawable gradientDrawable = new GradientDrawable(
Orientation.TOP_BOTTOM,
new int[]{ContextCompat.getColor(this, R.color.color1),
ContextCompat.getColor(this, R.color.color2),
ContextCompat.getColor(this, R.color.color3),
ContextCompat.getColor(this, R.color.color4)});
findViewById(R.id.background).setBackground(gradientDrawable);
Laut Developers.Android Können Sie ... und dies ist der Code, den sie verwendet haben
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="rectangle" >
<gradient
Android:angle="45"
Android:endColor="#87CEEB"
Android:centerColor="#768087"
Android:startColor="#000"
Android:type="linear" />
</shape>
auch hier ist ein Tutorial
hoffe das hilft
Dies kann durch die Verwendung von Vektorgrafiken erreicht werden. Ich habe diesen Hintergrundgradienten in Adobe Illustrator erstellt und importiere dann das Vektor-Asset als XML in Android Studio und es funktioniert perfekt mit der Skalierbarkeit von Vektoren
und hier ist der code für diesen vektor/xml zeichnbar
<vector xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:aapt="http://schemas.Android.com/aapt"
Android:width="987.3dp"
Android:height="870.3dp"
Android:viewportWidth="987.3"
Android:viewportHeight="870.3">
<path Android:pathData="M0,870l0,-870l987,0l0,870z">
<aapt:attr name="Android:fillColor">
<gradient
Android:endX="493.5"
Android:endY="870"
Android:startX="493.5"
Android:startY="2.6645353E-14"
Android:type="linear">
<item
Android:color="#FF0000FF"
Android:offset="0" />
<item
Android:color="#FF6AFCFF"
Android:offset="0.1974" />
<item
Android:color="#FFE900D0"
Android:offset="0.3786" />
<item
Android:color="#FFFF7D15"
Android:offset="0.5906" />
<item
Android:color="#FFE6FF55"
Android:offset="0.7513" />
<item
Android:color="#FFED1E79"
Android:offset="1" />
</gradient>
</aapt:attr>
</path>
Erstellen Sie eine neue XML-Datei in drawable und kopieren Sie diesen Code:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android">
<gradient Android:startColor="#9A0C0C"
Android:centerColor="#CE9908"
Android:endColor="#3091FF"
Android:angle="270"/>
</shape>
Sie können dies mit einer Layer-Liste mit radialen Farbverläufen tun und dann unterschiedliche Deckkraft für verschiedene Elemente festlegen