在xml中创build一个可绘制的矩形,上半部分为一个渐变,下半部分为另一个渐变

我试图在xml中创build一个drawable,在上半部分有一个渐变的矩形,在下半部分是另一个。 这不是做这件事的方法,显然:

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle"> <gradient android:startColor="#5a5a5a88" android:endColor="#14141488" android:angle="270" android:centerX="0.25"/> </shape> </item> <item> <shape android:shape="rectangle" android:top="80px"> <gradient android:startColor="#5aff5a88" android:endColor="#14ff1488" android:angle="270" android:centerX="0.25"/> </shape> </item> </layer-list> 

我怎样才能做到这一点,最好能够将其拉伸到任何高度?

Solutions Collecting From Web of "在xml中创build一个可绘制的矩形,上半部分为一个渐变,下半部分为另一个渐变"

如果您的目标是使用中心颜色的渐变(从A开始,在中间过渡到B,然后在最后过渡到C),请将android:centerYandroid:centerY属性添加到您的一个<shape>元素和其他核武器。 你可以做一个单一的形状三色渐变。

小虫子给你,顶级属性应该在item元素中;)

这行得通:

 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle"> <gradient android:startColor="#5a5a5a88" android:endColor="#14141488" android:angle="270" android:centerX="0.25"/> </shape> </item> <item android:top="80dp"> <shape android:shape="rectangle"> <gradient android:startColor="#5aff5a88" android:endColor="#14ff1488" android:angle="270" android:centerX="0.25"/> </shape> </item> </layer-list>