Verhindern der Skalierung von Formen in einer LayeredList ohne Verwendung von Bitmap

8

Ich versuche, LayerDrawable (in XML als Layer-Liste definiert) zu verwenden, um mehrere Zeichen-Drawables übereinander zu schichten. als Hintergrund für ein Layout verwendet werden.

Das Android-Handbuch ( für LayerList ) sagt:

  

Alle Zeichenobjekte werden so skaliert, dass sie der Größe der enthaltenden Ansicht entsprechen.   standardmäßig. So platzieren Sie Ihre Bilder in einer Ebenenliste unter verschiedenen   Positionen können die Größe der Ansicht erhöhen und einige Bilder skalieren als   angemessen. Um zu vermeiden, dass Elemente in der Liste skaliert werden, verwenden Sie <bitmap>   Element innerhalb des <item> -Elements, um das Zeichen zu spezifizieren und zu definieren   die Schwerkraft zu etwas, das nicht skaliert, wie "Mitte".

Ich möchte nicht, dass meine Shapes skaliert werden, aber ich bin mir nicht sicher, wie ich sie korrekt in bitmap Tags einbinden kann: Es erzeugt einen Fehler, wenn ich es wie folgt mache:

%Vor%

Beschweren:

  

Binäre XML-Dateizeile # 25: <bitmap> benötigt ein gültiges src-Attribut

Ein Beispiel für eine der Zeichen, z. res / drawbar / layer_one.xml:

%Vor%

Das auf der Android-Site verwendete Beispiel verwendet Bilder als Zeichenobjekte, nicht als XML-definierte Formen (um nicht zu sagen, dass mein Fehler spezifisch für diese ist und ich irgendwo keinen dummen Fehler gemacht habe). Irgendwelche Hinweise geschätzt, danke.

Zeichenbare Ressourcen verwenden
Die Antwort dieser Frage besagt, dass Sie kein XML-Zeichen als src für eine Bitmap verwenden können. Ich habe den Titel der Frage geändert, um nun zu fragen, wie man das Skalieren von Formen verhindern kann (dadurch die Größe der Containeransicht ändern), ohne bitmap zu verwenden, oder bin ich gezwungen, tatsächliche Bildressourcen zu verwenden?

Es wurde ein Bild des gewünschten Ergebnisses hinzugefügt - die Möglichkeit, einen Hintergrund mit einer regulären rechteckigen Form oder was auch immer zu erhalten, und dann eine weitere Ebene mit mehr Formen (hier sind es 3 Ellipsen). Auf der linken Seite ist ideal, wo oben und links Offsets erlaubt sind, und auf der rechten Seite ist in Ordnung, wo alle Formen auf eine Standardposition gehen:

    
ataulm 07.04.2012, 15:52
quelle

1 Antwort

2

Ja, (gemäß meiner vorherigen Antwort ) können Sie nicht verwenden XML-Zeichen für Bitmaps Es ist in Ordnung zu bauen, aber wenn Sie die App ausführen, stürzt es ab.

In Bezug auf die Anweisung use a <bitmap> element inside the <item> element bedeutet, dass Sie weitere Formen in Ihrer Ebenenliste definieren können und genau dafür sind sie gedacht. Sie können zwar auch Bitmaps definieren, aber Ihre Bitmaps sollten einen src Wert haben, der sich auf das Vollbild bezieht (nicht auf xml).

Sie können die xml-Datei "layer_one", "layer_two" und andere Ebenen in Ihre XML-Datei "layer_list" einfügen. Zum Beispiel:

%Vor%

Ich hoffe, es sollte funktionieren:)

    
waqaslam 07.04.2012, 18:22
quelle

Tags und Links