2016-03-25 6 views
5

ziehbar/information.xmlApp: srcCompat - Vector ziehbar zeigt in Design Vorschau, aber nicht zeigen, nicht in App

<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="M13,9H11V7H13M13,17H11V11H13M12,2A10,10 0,0 0,2 12A10,10 0,0 0,12 22A10,10 0,0 0,22 12A10,10 0,0 0,12 2Z"/> 
</vector> 

LayoutofCardView.xml

<ImageView 
    android:layout_width="24dp" 
    android:background="#f00" 
    android:layout_height="24dp" 
    android:id="@+id/informationImageView" 
    app:srcCompat="@drawable/information" 
    tools:src="@drawable/information" 
    /> 

build.gradle

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.2" 

    defaultConfig { 
     applicationId "com.company" 
     minSdkVersion 15 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
     generatedDensities = [] 

    } 
    aaptOptions { 
     additionalParameters "--no-version-vectors" 
    } 

    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
    packagingOptions { 
     exclude 'META-INF/NOTICE.txt' 
     exclude 'META-INF/LICENSE.txt' 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:23.2.1' 
    compile 'com.android.support:cardview-v7:23.2.1' 
    compile 'com.android.support:recyclerview-v7:23.2.1' 
    compile 'com.android.support:support-v4:23.2.1' 
} 

Das Bild zeigt sich korrekt im Design-Bereich von Android Studio. Aber wenn ich die App starte, wird das Bild nicht angezeigt. Das Bild befindet sich in cardView, das sich in recyclerviewfragment befindet. andere Elemente werden korrekt dargestellt, nur Vektorgrafiken werden nicht gerendert.

Auch zeigt Lint Fehler

unexpected namespace prefix "app" found for tag ImageView app:srcCompat 

Antwort

6

diese Zeile vectorDrawables.useSupportLibrary = true in Ihre build.graddle Legen Sie in der Layout-Datei auf Datei als Teil der DefaultConfig Aussage. Ich habe die Beschreibungen verwendet, die here zur Verfügung gestellt werden und es funktioniert. Ich denke, man muss sich bewusst sein, dass config für Gradle 2.0+ und Gradle 1.5 anders aussieht.

Unabhängig von der von Ihnen verwendeten Gradle-Version müssen Sie sicherstellen, dass Ihre Aktivität die Vektorunterstützung umerweitern muss.

+0

wird in sie hineingehen und zu Ihnen zurückkommen. Ich habe das Problem in meinem letzten Projekt angegangen. Vielen Dank! – q126y

+0

Verschwendete kritische 2 Stunden und stolperte dann darüber. Danke vielmals. – Androidster

+0

danke hat für mich gearbeitet – Richi

1

Ich fand diese Antwort, wenn ich Ihr Problem habe. schnelle Antwort ist, Sie android.support.v7.widget.AppCompatImageView und App verwenden sollten: srcCompat

diese link erklären.