0

下の画像のように見えるドローアブルを作成しようとしています。1dpそれぞれが異なる色の3本の水平線で、残りのスペースはグラデーションで埋める必要があります。

灰色の部分はグラデーションを表します

だから私はこれを書いた:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="line">
            <stroke android:width="1dp" android:color="#c80047"/>
        </shape>
    </item>
    <item android:top="1dp">
        <shape android:shape="line" >
            <stroke android:width="1dp" android:color="#5ec800"/>
        </shape>
    </item>
    <item android:top="2dp">
        <shape android:shape="line" >
            <stroke android:width="1dp" android:color="#ffffff"/>
        </shape>
    </item>
    <item android:left="0dp" android:right="0dp" android:top="3dp"> 
        <shape android:shape="rectangle">

            <gradient android:angle="-90" android:startColor="#3B3B3B"
                android:endColor="#000000" />

        </shape>
    </item>

</layer-list>

グラデーションは正しく描画されますが、3本の線は黒のままです。結果なしで追加しようとしました<stroke android:color="a_color" />

私は何が欠けていますか?

4

2 に答える 2

1

これらの線は描画されますが、思ったとおりの上部には描画されません。代わりに、描画可能オブジェクトの中央に描画されます(最後のアイテムを移動すると、この線が表示されます。これは、前にグラデーションが付いた長方形です。線の形状)であり、最後の項目であるグラデーションの長方形で覆われています。

そのドローアブルを作成するには、これを試すことができます:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item>
        <shape>
            <solid android:color="#c80047" />

            <size android:height="1dp" />
        </shape>
    </item>
    <item android:top="1dp">
        <shape>
            <solid android:color="#5ec800" />

            <size android:height="1dp" />
        </shape>
    </item>
    <item android:top="2dp">
        <shape>
            <solid android:color="#ffffff" />

            <size android:height="1dp" />
        </shape>
    </item>
    <item
        android:left="0dp"
        android:right="0dp"
        android:top="3dp">
        <shape android:shape="rectangle" >
            <gradient
                android:angle="-90"
                android:endColor="#000000"
                android:startColor="#3B3B3B" />
        </shape>
    </item>

</layer-list>
于 2012-06-14T09:23:07.093 に答える
0

これらの3つの線はすべて中央に配置されており、重力を設定するためのパラメーターが表示されませんでした。私はそれらの線を長方形としても行きます。

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
   <item> 
        <shape android:shape="rectangle">
            <solid android:color="#c80047"/>
        </shape>
    </item>
        <item android:top="1dp"> 
        <shape android:shape="rectangle">
            <solid android:color="#5ec800"/>
        </shape>
    </item>
    <item android:top="2dp"> 
        <shape android:shape="rectangle">
            <solid android:color="#ffffff"/>
        </shape>
    </item>
    <item android:left="0dp" android:right="0dp" android:top="3dp"> 
        <shape android:shape="rectangle">
            <gradient android:angle="-90" android:startColor="#3B3B3B"
                android:endColor="#000000" />
        </shape>
    </item>
</layer-list>
于 2012-06-14T09:22:21.720 に答える