Ungültiger, ausklappbarer Tag-Vektor
Ich versuche zu verwenden Vektor-drawables auf pre-lollipop-Geräte. Ich habe alles getan, wie angewiesen hier aber ich bekomme immer noch diesen Absturz.
bauen.gradle:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0-beta6'
}
}
apply plugin: 'com.android.application'
repositories {
maven { url 'http://maven.android-forever.com' }
jcenter()
}
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.test.app"
minSdkVersion 16
targetSdkVersion 22
versionCode 1
versionName "1.0"
vectorDrawables.useSupportLibrary = true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.2.0'
compile 'com.android.support:design:23.2.0'
compile "de.greenrobot:eventbus:2.4.0"
compile 'de.greenrobot:greendao:2.1.0'
compile "com.af:android-utility:1.0.0.9"
compile project(':volleyplus')
compile project (':libvlc')
}
triangle.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/triangle_v"/>
</selector>
triangle_v.xml
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="100dp"
android:width="100dp"
android:viewportHeight="100"
android:viewportWidth="100">
<path
android:name="triangle"
android:fillColor="#FF0000"
android:pathData="m 50,0 l 50,100 -100,0 z"/>
</vector>
layout.xml
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/triangle"/>
Ich habe auch versucht app:srcCompat
- und in diesem Fall, drawable einfach nicht zeigen.
InformationsquelleAutor der Frage pedja | 2016-03-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Stand ich vor einem ähnlichen problem und @pedja eigene Antwort ist hilfreich.
Mehr im Allgemeinen, wie erwähnt, in Chris Dämonen ' s Artikel über Vektor-drawable compat, die support-library funktioniert durch die Injektion von seine version von
ImageView
über das system auf pre-L über einige Haken. Diese implizit erfordert das AppCompat Versionen von Klassen, wieAppCompatActivity
verwendet werden.In meinem Fall, der Vektor drawable wird in einer standalone-toast-wie anzeigen ohne eine damit verbundene Aktivitäten, die mit der Anwendung Kontext. Ich landete mit
AppCompatImageView
im xml-layout-definition direkt, d.h. so etwas wiesomit gibt es keine Notwendigkeit für die Magie "hook" - Mechanismus. Als getestet das funktioniert auch mit der
Activity
Klasse ohne die Notwendigkeit der VerwendungAppCompatActivity
. Alle der oben genannten getan wurde, ohne ein Upgrade auf 23.2.1, die adressiert ein anderes problem.InformationsquelleAutor der Antwort headuck
Diesem code wird die Arbeit mit Vektor bei Verwendung
vectorDrawables.useSupportLibrary = true
Und ändern
android:src
zuapp:srcCompat
.Beispielsweise
zu
InformationsquelleAutor der Antwort алекс кей
Habe dieses problem auch beim laden von Vektoren, die von einem Selektor auf pre-lollipop-Geräte:
Verwenden AppCompatDelegate.setCompatVectorFromResourcesEnabled(true) in Ihrer onCreate-Methode:
InformationsquelleAutor der Antwort Aldasa
War das problem, dass meine Aktivität nicht erweitern
AppCompatActivity
aber regelmäßigeActivity
.Dies ist nicht in jeder Dokumentation/Beispiel für support-vector-drawables
InformationsquelleAutor der Antwort pedja
Es funktioniert mit 23.2.0 oder 23.4.0, nicht 23.3.0. Ernsthaft Google!
Ref : https://medium.com/@chrisbanes/appcompat-v23-2-age-of-the-vectors-91cbafa87c88#.waicp19gh
InformationsquelleAutor der Antwort Nishant Shah
Den Antworten, die hier gegeben sind, ignorieren die situation, wenn Sie möchten, fügen Sie ein drawable auf eine textview, weil es gibt den gleichen Fehler. in meinem Fall hatte ich
Konnte ich nicht finden, wie man dieses Problem lösen, damit ich entfernt die Zeile aus der xml-code, und legte es in mein java-code in dieser Art und Weise
Klarstellung für den code,
Erhalten den Vektor drawable aus dem drawables-Ordner mit AppCompatDrawableManager
Legen Sie die drawable wir haben gerade als die linke drawable auf unserer textview
InformationsquelleAutor der Antwort nada
Außerdem müssen Sie die neue support-Vektor-Bibliothek:
InformationsquelleAutor der Antwort Gaëtan
Fand ich dieses Problem am code.google.
Es scheint das gleiche Problem wie du.
Funktioniert diese Hilfe?
https://code.google.com/p/android/issues/detail?id=201843
InformationsquelleAutor der Antwort tim
Dies ist die support-v4, appcompat-v7-Bibliothek v23.2.0 Fehler es erscheint in der API-19.
@tim stellen link zu diesem bug Problem.
Können Sie ein upgrade auf eine neue library version 23.2.1 und Fehler ist nun behoben.
InformationsquelleAutor der Antwort sytolk
Dass alles, was ich gern über das internet, und es funktioniert für mich. Prüfen Sie, welches Sie nicht verpassen.
1) Innerhalb bauen.gradle
2)
buildToolsVersion '27.0.3'
undcompile 'com.android.support:appcompat-v7:27.0.3'
ähnliche version code.3) Verwenden, oben dann 3 gradle-version
classpath 'com.android.tools.build:gradle:3.0.1'
4) Für
ImageView
verwendenapp:srcCompat
5) wenn Sie Aber
android:drawableLeft
oderandroid:drawableRigth
etc, dann:6) Und am Ende, setCompatVectorFromResourcesEnabled = true im inneren statischen lädt vor der main-Methode.
InformationsquelleAutor der Antwort Md Imran Choudhury
Wenn du dich mit
<android.support.v7.widget.AppCompatImageView
beim laden eines Vektor-drawable es vielleicht eine bessere Idee zu erweiternAppCompatActivity
stattActivity
und gehen Sie zurück zu regelmäßigen<ImageView...app:srcCompat="@drawable/...
InformationsquelleAutor der Antwort Cristhian Escobar