2017-04-27 4 views
0

Die VectorDrawable bezieht sich auf die folgenden:Android Vector Drawable Intrinsic

android: Breite

verwendet, um die innere Breite des ziehbaren zu definieren. Diese unterstützen alle Maßeinheiten, die normalerweise mit dp angegeben sind.

Was ist mit "intrinsisch" gemeint? Ich dachte, der Punkt von VectorDrawable war unabhängig von der Größe. Wenn ich die Breite nicht zur Verfügung stelle, stürzt meine App ab. Was macht dieser Wert? Ich benutze es nicht, aber ich muss trotzdem einen Wert eingeben.

Antwort

1

Die inneren Abmessungen eines VectorDrawable durch android:width angegeben und geben die android:height drawable eine Standardgröße.

Beachten Sie Folgendes:

<ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    app:srcCompat="@drawable/example_drawable"/> 

Welche Größe ist das?

Nun die ImageView verwendet wrap_content, so dass es auf die Größe des Zeichens wraps. Wenn VectorDrawables keine Standardhöhen und -breiten angegeben hat, dann ist dieses ImageView nicht sinnvoll, es sollte sich an die Größe des Inhalts anpassen, aber der Inhalt hat keine Größe!

Daher muss VectorDrawables eine Standardbreite und -höhe haben. Sie können sie auf die Größe skalieren, die Sie benötigen, aber wenn es eine Situation gibt, in der sie nicht von woanders gesagt werden, wie groß sie sein sollten, müssen sie wissen, was zu tun ist.

+1

Kühl. Ich sage ihm, welche Größe mein Programm hat, also denke ich, dass das in meinem Fall nicht nötig ist. Ich habe versucht, nicht anzugeben, aber mein Programm ist abgestürzt. Wenn ich sie hatte, funktioniert es gut. Wenn ich unterschiedliche Werte einstelle, kein Unterschied. Wieder mein Fall. Jetzt, wo du sagst, dass das wichtig ist, wenn ich wrap_content verwende, macht das mehr Sinn. Ich habe das nicht ausprobiert, aber ich werde das als richtig bezeichnen. Ich bin ein bisschen zu gebunden, um das auszuprobieren. TY – Mitch