Ich möchte vectorDrawables in Android Studio auf ImageView festlegen.
Ich kann png und jpg einfach zeichnen, aber wenn ich VectorDrawable einstellen will, funktioniert es nicht bei imageview.
%Vor%ic_home ist VectorDrawable und dieser Code funktioniert nicht.
Laut offiziellen Android Entwickler-Blog gibt es keine Änderungen für setImageResource () -Methode zur Laufzeit für vectorDrawables.
Wenn Sie Zeichen zur Laufzeit ändern, können Sie den Befehl verwenden gleich setImageResource () Methode wie zuvor - keine Änderungen dort. Verwenden von AppCompat und app: srcCompat ist die absolut narrensicherste Methode, um Vektor - Drawables in Ihren Browser zu integrieren App.
Weitere Details finden Sie in diesem schönen Artikel AppCompat - Age der Vektoren von Google Developer.
Wenn Sie vektorabbildbare Zeichen (weniger ODER größer als API 21) verwenden möchten, tun Sie Folgendes:
Legen Sie das Bild programmgesteuert fest (z. B. in Ihrer Aktivität):
%Vor%oder per XML:
%Vor% In der build.gradle
Ihrer App müssen Sie Folgendes einschließen:
Und für die Vektorunterstützung für weniger als API 21 fügen Sie Folgendes zu onCreate
hinzu:
Wenn Sie mit der Abwärtskompatibilität zu tun haben, sollten Sie stattdessen AppCompatImageView
anstatt der Bildansicht verwenden. Gehen Sie den folgenden Code durch.
Java
%Vor% Und es wird der Perspektive von app:srcCompat
dienen.
Ich hatte einen Vektor in der Recycler-Ansicht, den ich img.setImageResource (R.drawable.ic_home) verwendet habe, was nicht richtig funktioniert hat, wie ein anderes Bild in einem Recycler-View-Objekt erzeugt wurde strong> img.setImageDrawable (activity.getResources (). getDrawable (R.drawable.ic_home)) das hat funktioniert.
Verwenden Sie android.support.v7.widget.AppCompatImageButton , android.support.v7.widget.AppCompatImageView , android.support.v7.widget.AppCompatTextView anstelle von ImageButton , ImageView usw. Wenn ein Vektortyp verwendet wird.
Hauptsächlich für benutzerdefinierte Ansichten.
Tags und Links android imageview vectordrawable