Ich muss ein Zeichenobjekt mit einer Ebenenliste erstellen, sodass die Hintergrundebene ein Bild und der Vordergrund eine transparente Farbe ist. Das kann ich tun. Wo es mir nicht gelingt, ist das Hinzufügen von Polsterung/Rand, so dass an der Unterseite ein Teil der Bilder ohne die farbige Ebene darüber angezeigt wird. Hier ist meine XML. Danke fürs Helfen.
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android" >
<item>
<bitmap Android:src="@drawable/img1"
/>
</item>
<item>
<shape
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="rectangle" >
<solid Android:color="@color/color1" />
<padding Android:bottom="20dp" />
</shape>
</item>
</layer-list>
Da diese Konfiguration nicht funktioniert, schlage ich vor, die Auffüllung in die erste Ebene zu legen. Ich bin mir jedoch nicht sicher, wie ich das mit einer Bitmap machen kann
Verschieben Sie den unteren Abstand von der shape
in die übergeordnete item
:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android" >
<item>
<bitmap Android:src="@drawable/img1" />
</item>
<item Android:bottom="20dp">
<shape Android:shape="rectangle" >
<solid Android:color="@color/color1" />
</shape>
</item>
</layer-list>
Siehe http://idunnolol.com/Android/drawables.html#layer-list für weitere Informationen.
Wickeln Sie die Bitmap in einen Zeichnungsrahmen und legen Sie Ihre Auffüllung dort fest
Wenn Sie das Zeichenelement zum selben Element in der Ebenenliste hinzufügen, können Sie Eigenschaften wie Android:top
, Android:bottom
, Android:left
oder Android:right
für das Auffüllen anwenden.
Ich habe mein Problem mit dem Zeichnen behoben, das nicht mit der Textansicht ausgerichtet ist, indem ich einfach die Eigenschaften Android:width
und Android:height
verwendet.
Z.B.
<item
Android:width="26dp" Android:height="26dp"
Android:drawable="@drawable/ic_person">
<shape Android:shape="rectangle" >
<solid Android:color="@Android:color/transparent" />
</shape>
</item>
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item>
<shape Android:shape="oval">
<solid Android:color="#FFE3F5F2"/>
</shape>
</item>
<item
Android:bottom="7dp"
Android:left="7dp"
Android:right="7dp"
Android:top="7dp">
<bitmap
Android:src="@drawable/ic_link">
</bitmap>
</item>
</layer-list>