Forme nidificati in Android
-
08-10-2019 - |
Domanda
Sto cercando di disegnare una forma che ha tre forme rettangolari:
1. colore solido 2. pendenza 3. linea bianca
Come lo faccio? Quando provo questo, non funziona. La disposizione ha il colore genitore.
<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>
Sto cercando di fare un gradiente in 3 colori. Inizia con un #ff297baf
colore solido, al 60% iniziare una pendenza da #ff297baf
a #ff16c0e3
e aggiungere un po 'di riga alla fine.
Soluzione
Se avete intenzione di considerare di usare più forme, si dovrebbe provare un LayerListDrawable. Qualcosa come questo funziona per me, ma solo per la vostra altezza esempio di 60px. Potrebbe essere necessario modificare in base alle proprie esigenze esattamente, ma questo dovrebbe ottenere un buon inizio:
<?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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow