Drawable skalieren - setzt setImageLevel den Maßstab?

8

Ich habe eine kleine Test-App erstellt, um Scale Drawable auszuprobieren.

Ich definiere meine Zeichen in xml und speichere sie als scale_up.xml . Ich habe eine main.xml Layoutdatei mit einem ImageView . Ich verwende android:src="@drawable/scale_up" in ImageView, um das in XML erstellte Zeichenprogramm zu verwenden. In meiner Aktivität verwende ich myImageView.setImageLevel(some level here) , um den Level des in main.xml definierten ImageViews festzulegen. Alles ist gut und die ImageView zeigt das in scale_up definierte Zeichen an.

Meine Verwirrung ist die folgende:

  • das Ändern der scaleHeight und scaleWidth % in scale_up.xml macht keinen wahrnehmbaren Unterschied, wenn die Ebene auf 10000
  • gesetzt ist
  • Ändern der Ebene in setImageLevel (zwischen 0 und 10000) ändert die Größe des Bildes - wirklich nur bei etwa 5000 wahrnehmbar. Je höher der% -Wert für scaleHeight und scaleWidth ist, desto kleiner ist das Bild (abhängig vom Wert von setImageLevel() )

Ich nehme an, meine Frage / n sind:

  1. ist es richtig, setImageLevel() zu verwenden und eine Ebene zwischen 0 und 10000 zu übergeben - in der Aktivität, um die Größe des in der XML-Datei definierten Zeichenobjekts zu steuern?
  2. Wie ist die Beziehung zwischen scaleHeight, scaleWidth und setImageLevel() - wie ich es jetzt sehe, kann ich auch scaleHeight und scaleWidth auf 100% setzen und dann setImageLevel(5000) verwenden, um ein 50% skaliertes Bild zu erhalten - d Erhöhen oder Verringern von setImageLevel(0 to 10000) wird die Skalierung ändern - was scaleHeight und scaleWidth % ziemlich sinnlos macht.

schätze jede Klarstellung und vielleicht ein Beispiel dafür, wie man scale drawbar (definiert in xml) korrekt verwendet.

    
idig 26.03.2012, 14:30
quelle

1 Antwort

0
  1. Nein. setImageLevel ähnelt eher einem Aufzählungstyp für Bilder. Es dient zur Anzeige verschiedener Bilder, z. B. eines Batterieladepegels oder einer Signalbalkenanzeige. Sie setzen ein Bild unter Level 1 für niedrige Batterie, ein anderes unter 2 für mittlere Batterie und so weiter. Dann verwenden Sie setImageLevel, um zwischen ihnen zu wechseln. Zumindest habe ich das verstanden. Das heißt, ich habe keine Ahnung, warum es den Maßstab ändert.

  2. Ich habe keine Ahnung, warum das alles wäre. Es könnte ein Problem mit dem XML Editor / Viewer in der ADT in Eclipse sein, ich habe bemerkt, dass viele Dinge gut auf meinem Handy angezeigt werden, aber unglaublich schlecht auf meinem Editor. Ich arbeite in der Regel nur in xml.

Was versuchst du genau zu erreichen? Das könnte die Beantwortung Ihrer Frage erleichtern.

    
NathanTempelman 12.02.2013 16:58
quelle