2017-02-22 78 views
0

我在應用程序中的所有位置都使用了矢量繪圖。今天我用JellyBean設備進行了測試,他們都忽略了我在XML中定義的顏色。VectorDrawable在JellyBean中顯示爲黑色

這是使用矢量繪製對象Im的一個例子:

<?xml version="1.0" encoding="utf-8"?> 
<vector xmlns:android="http://schemas.android.com/apk/res/android" 
     android:height="24dp" 
     android:width="24dp" 
     android:viewportWidth="24" 
     android:viewportHeight="24"> 
    <path android:fillColor="@color/colorWhite" android:pathData="M17,10.5V7A1,1 0 0,0 16,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16A1,1 0 0,0 17,17V13.5L21,17.5V6.5L17,10.5Z" /> 
</vector> 

這是他們如何顯示:

傑利貝恩:

JellyBean

棉花糖:

MarshMallow

+0

而不是引用'@ color'字符串。嘗試直接添加'#ffffff'。 –

+0

告訴我,如果它正在工作,那麼你只需要在build.gradle中添加一些行,然後你就可以使用參考方法。 –

+0

@PradumnKumarMahanta它正在工作,但我想通過名稱引用顏色,是不可能的? – MichelReap

回答

1

見的向後兼​​容,你需要添加到您的gradle產出,

// Gradle Plugin 2.0+ 
android { 
    defaultConfig { 
    vectorDrawables.useSupportLibrary = true 
    } 
} 

那麼你可以使用的參考方法。這是爲了使支持庫與舊版本兼容。

此線程here,解釋瞭如何在所有android版本中使用相同,並解釋了其餘的here

問候。

+0

如果我啓用此屬性,我的應用程序無法在Pre KitKat設備上工作 – MichelReap

+0

第二個線程解釋了這一點。它應該BTW,支持庫現在是向後兼容API 9.什麼是您的Gradle版本? –

+0

2.2.3與支持庫25.0.1 – MichelReap