Ich möchte einen Hintergrund mit Farbverlauf erstellen, bei dem der Farbverlauf in der oberen Hälfte ist und die untere Hälfte einfarbig ist, wie in diesem Bild unten:
Das geht nicht, weil die centerColor
sich ausbreitet, um den unteren und oberen Teil abzudecken.
Im Farbverlauf für die Schaltfläche geht eine weiße horizontale Linie über Blau nach oben und unten über.]2
Wie kann ich einen Hintergrund wie auf dem ersten Bild erstellen? Wie kann ich eine kleine centerColor
machen, die sich nicht ausbreitet?
Dies ist der Code im XML der obigen Hintergrundschaltfläche.
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<gradient
android:startColor="#6586F0"
android:centerColor="#D6D6D6"
android:endColor="#4B6CD6"
android:angle="90"/>
<corners
android:radius="0dp"/>
</shape>
Sie können diesen Look erzeugen, indem Sie eine xml Layer-Liste verwenden, um die oberen und unteren Bänder in einer Datei zu kombinieren. Jedes Band ist eine xml-Form.
Eine ausführliche Anleitung finden Sie in dieser früheren Antwort auf SO: Formen mit mehreren Farbverläufen.
Zunächst müssen Sie eine gradient.xml wie folgt erstellen
<shape>
<gradient android:angle="270" android:endColor="#181818" android:startColor="#616161" />
<stroke android:width="1dp" android:color="#343434" />
</shape>
Dann müssen Sie den obigen Farbverlauf im Hintergrund des Layouts erwähnen, und zwar wie folgt
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/gradient"
>
</LinearLayout>
Warum nicht ein Bild oder ein 9-Patch-Bild erstellen und dieses verwenden?
Der Link unten enthält eine schöne Anleitung, wie man das macht:
http://android.amberfog.com/?p=247
Wenn Sie darauf bestehen, ein Shape zu verwenden, probieren Sie die unten stehende Website aus (wählen Sie unten links Android): http://angrytools.com/gradient/
Ich habe einen ähnlichen Farbverlauf (nicht exakt) wie den, den Sie unter diesem Link finden, erstellt: http://angrytools.com/gradient/?0_6586f0,54_4B6CD6,2_D6D6D6&0_100,100_100&l_269