2017-05-28 5 views
-1

Ich bin neu auf Android Studio und planen, eine App für Tablets und Telefone zu entwerfen. Daher wird meine App hauptsächlich auf normalen und großen Bildschirmen verwendet.Verwenden der richtigen dpi auf Vektor-Icons

  • Welche dpi ist am besten für meine Vektor-Icons?
  • Sollte ich verschiedene dpi-Versionen des gleichen Symbols für die Unterstützung mehrerer Bildschirme erstellen?
  • Warum nur die Symbole wrap_content nicht mehrere Bildschirmgrößen unterstützt. Ich dachte, Vektorbilder werden nicht unscharf, wenn sie verzerrt sind.

Antwort

1

Vector Drawables

Wie der Name schon sagt, Vektor Drawables auf Vektorgrafiken basieren, wie zum Rastergrafik im Gegensatz Vektorgrafiken sind eine Möglichkeit, grafische Elemente zu beschreiben geometrische Formen verwenden. Es ähnelt einer SVG-Datei. In Android Vector Drawable werden als XML-Dateien erstellt. Jetzt ist es nicht notwendig, unterschiedliche Bildgrößen für mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi usw. zu erstellen. Wir benötigen nur eine Vektordatei für mehrere Bildschirmgrößen. Auch für ältere Android-Versionen, die Vektor-Zeichenvorlagen nicht unterstützen, kann Vector Asset Studio Ihre Vektor-Zeichen in verschiedene Bitmap-Größen für jede Bildschirmdichte zur Laufzeit umwandeln.

kleiner ist besser

Für Android, um die Rasterungsverfahren, das eine VectorDrawable in eine Bitmap auf der CPU geschieht umwandelt. Daher gibt es meistens eine lineare Beziehung zwischen der Verarbeitungszeit, die zum Erzeugen eines Bildes benötigt wird, und der Auflösung/Dimension des Bildes selbst. Das Rastern eines Dreiecks in eine 16 x 16-Pixel-Textur erfordert möglicherweise nur das Berechnen von Farbfragmenten für insgesamt 8 bis 12 Pixel. Würde man mit einer Textur von 1024 x 1024 dasselbe tun, würde man über hunderttausend Pixel berühren, was offensichtlich mehr Zeit in Anspruch nehmen würde. Wenn die Texturgröße größer wird, wird ein Break-Even-Punkt erreicht, bei dem die Ladezeit signifikant wird und es keinen Sinn mehr macht, ein Vector Drawable zu verwenden.

+0

Ok, also sollte ich mit den Standard 24dp Vektor-Icons bleiben. Ich denke nicht, dass ein paar von ihnen die Ladezeit länger machen werden. – gunessun

+0

es hängt von Ihnen ab, aber verwenden Sie entweder 24 oder 36 oder 48 es hängt davon ab, wo Sie verwenden –

1

Die "dpi" für Vektor-Icons ist bedeutungslos. Vektor-Icons sind DPI-unabhängig. Das ist der springende Punkt von ihnen. Es spielt keine Rolle, in welcher Größe Sie sie entwerfen. Es macht nur einen Unterschied, welche Größe Sie zur Laufzeit zeichnen (rendern). Je größer die angezeigte Größe ist, desto mehr Pixel müssen berechnet und gezeichnet werden.

Das ist, was der zweite Absatz in @ Muhammad-Younas (was von this Colt McAnlis blog ist) versucht zu sagen.

Verwandte Themen