限制绿色渐变并开始显示白色

问题描述 投票:0回答:1

我试图限制屏幕上的渐变绿色,然后向屏幕的其余部分显示白色。但我的绿色渐变几乎填满了整个屏幕。

我想要的是将绿色限制在中心,然后开始显示白色:

这是我的gradient_green_background.xml 代码:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- Top gradient -->
    <item >
        <shape android:shape="rectangle">
            <gradient
                android:startColor="#3ACF96"
                android:endColor="@color/forest_green"
                android:angle="180"
                android:type="linear" />
        </shape>
    </item>
    <item android:top="0dp">
        <shape android:shape="rectangle">
            <gradient
                android:startColor="#ffffff"
                android:endColor="#00ffffff"
                android:angle="90"
                android:type="linear" />
        </shape>
    </item>
</layer-list>

非常感谢!背景在相对布局内设置,并与父级高度匹配。

java android xml android-studio
1个回答
0
投票

考虑到您还使用白色渐变,您可以对此进行操作并使用

centerColor
centerY
属性,如下所示:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- Top gradient -->
    <item>
        <shape android:shape="rectangle">
            <gradient
                android:startColor="#3ACF96"
                android:endColor="@color/forest_green"
                android:angle="180"
                android:type="linear" />
        </shape>
    </item>
    <item android:top="0dp" >
        <shape android:shape="rectangle">
            <gradient
                android:startColor="#ffffff"
                android:centerColor="#80ffffff"
                android:centerY="0.9"
                android:endColor="#00ffffff"
                android:angle="90"
                android:type="linear" />
        </shape>
    </item>
</layer-list>

您应该根据您的需要调整这两个新属性。

© www.soinside.com 2019 - 2024. All rights reserved.