How to make a double gradient with XML (iphone like)

前端 未结 2 1441
离开以前
离开以前 2021-01-31 05:50

How can I make this kind of drawable gradient with XML?

\"Double

I can do a simple gradie

相关标签:
2条回答
  • 2021-01-31 06:34

    I finally found a solution with a layer-list which is good enough for me :

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <!-- First part is a gradient -->
        <item android:left="0dp" android:right="0dp"> 
            <shape android:shape="rectangle">
    
                <gradient android:angle="-90" android:startColor="#9dcbf6"
                    android:endColor="#177ee6" />
    
            </shape>
        </item>
        <!-- Second part is plain color. Slightly transparent -->
        <item android:top="1sp" android:bottom="20sp" > 
            <shape android:shape="rectangle">
                <solid android:color="#10ffffff"/>
            </shape>
    
        </item>
    </layer-list>
    

    The middle is set to 20 sp because the container has a 40sp height , but you can adjust to your will by editing : android:bottom="20sp"

    0 讨论(0)
  • 2021-01-31 06:48

    You can have three colors in a gradient. A start color, end color and a center color.

    <gradient
            android:angle="integer"
            android:centerX="integer"
            android:centerY="integer"
            android:centerColor="integer"
            android:endColor="color"
            android:gradientRadius="integer"
            android:startColor="color"
            android:type=["linear" | "radial" | "sweep"]
            android:usesLevel=["true" | "false"] />
    

    Alternatively you can use a LayerList Drawable and just piece them together.

    0 讨论(0)
提交回复
热议问题