Die Android-Ebenenliste zeigt kein skalierbares Element an?

7

Mit der untenstehenden Ebenenliste wird meine skalierbare Zeichnungslinie nie angezeigt. Warum ist das so?

menu_dialog_header.xml

%Vor%

shine.xml

%Vor%

menu_dialog.xml

%Vor%     
worked 02.12.2011, 03:02
quelle

2 Antworten

13

Ich habe einen Workaround, der für Sie funktionieren kann oder auch nicht: anstatt <scale> zu verwenden , probiere <inset> . Sie können eine Kombination aus dem <item> s android:top / android:bottom / android:left / android:right und dem <inset> 's android: insetXXX verwenden, um das Bild zu skalieren

Sie können beispielsweise die Seiten jedes Einfügewerts relativ zu den Abmessungen des Quellbilds festlegen. Wenn Sie beispielsweise ein Bild mit 64 Pixel Breite haben und es um 50% reduzieren möchten, können Sie für jede Seite (64/4 = 16)

wählen     
Joe Plante 07.06.2013, 18:41
quelle
7

Es ist nicht gerade die Schuld der LayerLists. ScaleDrawable hängt außerdem von der Ebene Zeichenebene ab, wie (kurz) sowohl in den Drawable Resources als auch in der ScaleDrawable-Referenz erwähnt.

Es scheint, dass es keine Dokumentation darüber gibt, wie ScaleDrawable die Ebene interpretiert.

Es scheint keine Möglichkeit zu bestehen, die Ebene eines Zeichensatzes in XML festzulegen, was die Tatsache widerspiegelt, dass der primäre Anwendungsfall für ScaleDrawable darin besteht, die Größe eines Zeichenblattes zu animieren. Daher müssen Sie die Ebene des Zeichensatzes in Ihrem Code festlegen.

Ich bin mir sehr bewusst, dass Sie ScaleDrawable hier verwenden, da es eine leistungsfähigere Möglichkeit zum Stapeln von Zeichnungsdaten bietet, indem Sie sie positionieren und ihre Größe definieren können.

    
class stacker 04.12.2012 09:52
quelle

Tags und Links