2017-02-22 8 views
0

Я использую векторные чертежи вокруг места в моем приложении. Сегодня я тестировал устройство JellyBean, и все они игнорируют цвет, который я определил в своем XML.VectorDrawable, показанный черным в JellyBean

Это пример векторного Drawable 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:

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

 Смежные вопросы

  • Нет связанных вопросов^_^