Androidのネストされた形状
-
08-10-2019 - |
質問
私は3つの長方形の形を持つ形状を描画しようとしています:
1.ソリッドカラー2.グラデーション3.白い線
それ、どうやったら出来るの?私がこれを試すとき、それは機能しません。レイアウトには親の色があります。
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"
android:height="60px"
>
<shape
android:shape="rectangle"
android:height="30px"
>
<solid
android:color="#ff297baf"
/>
</shape>
<shape
android:shape="rectangle"
android:height="30px"
>
<gradient
android:type="linear"
android:startColor="#ff297baf"
android:endColor="#ff16c0e3"
android:angle="270"/>
</shape>
<shape
android:shape="rectangle"
android:height="3px"
>
<solid
android:color="#FFFFFFFF"
/>
</shape>
</shape>
私は3色でグラデーションを作ろうとしています。独創的な色から始めます #ff297baf
, 、60%で勾配を開始します #ff297baf
に #ff16c0e3
最後にしばらくの行を追加します。
解決
複数の形状の使用を検討する場合は、LayerListDrawableを試してみてください。このようなものは私にとってはうまくいきますが、あなたの例の高さ60pxのためだけです。ニーズに合わせて修正する必要があるかもしれませんが、これにより良いスタートが得られるはずです。
<?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:angle="270"
android:endColor="#ff16c0e3"
android:startColor="#ff297baf"
android:type="linear" />
</shape>
</item>
<item android:top="57px">
<shape android:shape="rectangle">
<solid android:color="#FFFFFFFF" />
<size android:height="3px" />
</shape>
</item>
所属していません StackOverflow