Android Support Library 23.2 Vektorzeichnungen sind verschwommen
Die neueste Version der Android Support Library (23.2) bietet Unterstützung für Vektorzeichen. Dazu werden die Vektoren anscheinend auf Plattformen gerastert, die Vektorzeichensätze von Haus aus nicht unterstützen.
Das Rasterbild scheint jedoch eine feste Größe zu haben, die von der Verwendung abhängt. Hier ist ein Beispiel.
Vekto
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zm0,3c1.66,0 3,1.34 3,3s-1.34,3 -3,3 -3,-1.34 -3,-3 1.34,-3 3,-3zm0,14.2c-2.5,0 -4.71,-1.28 -6,-3.22 0.03,-1.99 4,-3.08 6,-3.08 1.99,0 5.97,1.09 6,3.08 -1.29,1.94 -3.5,3.22 -6,3.22z"/>
</vector>
Layou
<ImageView
android:layout_width="128dp"
android:layout_height="128dp"
android:id="@+id/imageView"
app:srcCompat="@drawable/vector1"/>
Der Vektor ist 24dp x 24dp. Es wird in einer ImageView verwendet, die 128dp x 128dp ist. Auf Plattformen, die keine Vektorzeichen unterstützen, ist das resultierende Bild unscharf, da der Vektor mit 16 dpi gerastert und auf 128 dpi skaliert wird.
Die einzige Lösung, die ich gefunden habe, besteht darin, einen separaten Vektor zu erstellen, der für jede beabsichtigte Größe gezeichnet werden kann. Es ist ziemlich ärgerlich, eine Reihe doppelter Vektoren zu erstellen, bei denen sich nur Höhe und Breite ändern. Und das löst das Problem nicht, wenn Sie möchten, dass der Drawable fill_parent oder auf andere Weise dynamisch dimensioniert wird.
achdem Sie die Abmessungen Ihrer Vektorgrafiken in advanced @ definiert habfas macht den Vorteil der Verwendung von Vektoren in erster Linie zunichte.
Hat jemand eine echte Arbeit um?