wake-up-neo.com

Wie füge ich einer Bitmap und einer Farbe in einer Ebenenliste eine Auffüllung hinzu?

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

17
learner

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.

48
chiuki

Wickeln Sie die Bitmap in einen Zeichnungsrahmen und legen Sie Ihre Auffüllung dort fest

6
dangVarmit

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>

3
Arjun Shankar
<?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>
0
Farshid roohi