2016-06-23 13 views
2

Ich bin Hinzufügen von Vector Zeichnungsunterstützung zu einem Bibliotheksprojekt und Verwendung von app:srcCompat, um den Vektor ziehbar zu verweisen. Die einzige Ansicht, die anscheinend funktioniert, ist ImageButton, und ich bin mir nicht sicher warum.App: srcCompat funktioniert nicht für ImageView

Hier ist der relevante Teil meines build.gradle

android { 
    defaultConfig { 
    vectorDrawables.useSupportLibrary = true 
    } 
} 

dependencies { 
    testCompile 'junit:junit:4.12' 

    compile 'com.android.support:appcompat-v7:24.0.0' 
    compile 'com.android.support:support-vector-drawable:24.0.0' 
    compile 'com.android.support:animated-vector-drawable:24.0.0' 
    compile 'uk.co.chrisjenx:calligraphy:2.2.0' 
} 

Hier ist meine Layout-Datei:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center_horizontal" 
    > 

    <ImageView 
     android:id="@+id/iconActive" 
     style="@style/Widget.MyCompany.Button.Icon" 
     app:srcCompat="@drawable/activities" 
     android:layout_marginTop="16dp" 
     android:tint="@color/white" 
     /> 

</LinearLayout> 

Wenn ich einfach das Image zu einem Image ändere es funktioniert. Button funktioniert auch nicht.

Antwort

3

Vielleicht könnten Sie versuchen, ImageView zu AppCompatImageView zu ändern. So wird es:

<android.support.v7.widget.AppCompatImageView 
    android:id="@+id/iconActive" 
    style="@style/Widget.MyCompany.Button.Icon" 
    app:srcCompat="@drawable/activities" 
    android:layout_marginTop="16dp" 
    android:tint="@color/white" 
/> 
+0

Das funktioniert auch nicht. Außerdem müssen Sie die AppCompat-Ansichten nicht explizit verwenden. Sie werden automatisch automatisch erstellt, abhängig von der Version von Android, die Sie ausführen, wenn Sie die Bibliothek in Ihr Projekt einschließen. –

+0

Eigentlich scheint es die Android-Version nicht zu interessieren. –

+2

@ChristopherPerry Wenn Ihre Aktivität AppCompatActivity nicht erweitert, werden AppCompat-Ansichten nicht automatisch für Sie "injiziert". http://stackoverflow.com/a/37561933/196486 – Travis