Ich habe ein SVG, das gezeichnet werden kann. Manchmal muss ich die Größe anpassen. Normalerweise aktualisiere ich Breite und Höhe. Was ich nicht herausfinden kann, ist, wie sich Blickfeldbreite und Höhe auch auf die SVG auswirken. Es scheint, dass das Ändern dieser Dimensionen den Svg innerhalb des sichtbaren Bereichs außer Sichtweite bringen kann.
Was repräsentieren diese Maßeinheiten? Wie ist die Beziehung zu Breite und Höhe? Die Dokumentation von Google ist (wie üblich) äußerst unzureichend. Könnte jemand bitte etwas ausarbeiten?
Die viewportWidth
und viewPortHeight
definieren den Bereich des Dokuments, in dem der Inhalt der VectorDrawable gezeichnet wird. Sie entsprechen den Feldern für Breite und Höhe eines SVG viewBox
. Recherchieren Sie, wie eine SVG ViewBox funktioniert, wenn Sie weitere Erläuterungen benötigen.
Stellen Sie sich vor, dass Ihre Form ein Rechteck ist, das 100 breit und 100 hoch ist. Ihre viewportWidth
und viewPortHeight
sollten normalerweise beide auf 100 gesetzt sein. Damit Android die Dimensionen der zugrunde liegenden Formen kennt.
Die Attribute width
und height
teilen Android mit, wie groß die Standard ("intrinsische") Rendering-Größe von VectorDrawable sein soll. Sie können sich diese wie die Breite und Höhe eines PNG oder GIF (oder SVG für diese Angelegenheit) vorstellen.
So könnte der Inhalt Ihres VectorDrawable über einen Bereich von 100x100 definiert werden. Aber wenn Ihre Breite und Höhe 24x24 sind, wird der Inhalt von 100x100 auf 24x24 herunterskaliert.
Das ist der Grund, warum das Hantieren mit viewportWidth
und viewPortHeight
mit dem VectorDrawable zusammenhängt. Wenn Sie sie beispielsweise zu 50x50 ändern, wird eine Ecke der Form auf 24x24 verkleinert, anstatt auf die gesamte Form.
Tags und Links android svg android-vectordrawable