Ik wil een achtergrond met kleurverloop maken waarbij het kleurverloop in de bovenste helft zit en er'een effen kleur in de onderste helft zit, zoals in deze afbeelding hieronder:
Dat kan ik niet omdat de centerColor
zich uitspreidt om de onder- en bovenkant te bedekken.
In het kleurverloop voor de knop vervaagt een witte horizontale lijn over blauw naar de boven- en onderkant toe.
Hoe kan ik een achtergrond maken zoals in het eerste plaatje? Hoe kan ik een kleine centerColor
maken die'niet uitgespreid is?
Dit is code in XML van achtergrondknop hierboven.
<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>
U kunt deze 'half-gradient' look maken door een xml Layer-List te gebruiken om de bovenste en onderste 'bands' in één bestand te combineren. Elke band is een xml vorm.
Zie dit eerdere antwoord op SO voor een gedetailleerde tutorial: Multi-gradient shapes.
Eerst moet je een gradient.xml maken als volgt
<shape>
<gradient android:angle="270" android:endColor="#181818" android:startColor="#616161" />
<stroke android:width="1dp" android:color="#343434" />
</shape>
Dan moet u bovenstaand kleurverloop op de achtergrond van de lay-out vermelden, als volgt
<?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>
Waarom maak je geen afbeelding of een 9 Patch afbeelding en gebruik die?
De link hieronder heeft een mooie gids over hoe dat te doen:
http://android.amberfog.com/?p=247
Als je per se een Shape wilt gebruiken, probeer dan de onderstaande site (Selecteer Android linksonder): http://angrytools.com/gradient/
Ik'heb een vergelijkbare gradient (niet exact) gemaakt als die jij hebt op deze link: http://angrytools.com/gradient/?0_6586f0,54_4B6CD6,2_D6D6D6&0_100,100_100&l_269