Vector Drawable с градиентной заливкой, цвет не поддерживается ниже API 24 - PullRequest
0 голосов
/ 30 марта 2020

Вектор, который можно нарисовать на изображении, содержит цвета градиента, которые не отображаются в изображении для API версии ниже 24, я использую Android -Studio 3.1

color. xml :

   <?xml version="1.0" encoding="utf-8"?>
<gradient xmlns:android="http://schemas.android.com/apk/res/android"
android:centerX="143.856"
android:centerY="64.935"
android:gradientRadius="220.29005"
android:type="radial">
<item
    android:color="#FFFFFFFF"
    android:offset="0" />
<item
    android:color="#FFEFEFEF"
    android:offset="0.412" />
<item
    android:color="#FFC7C9CA"
    android:offset="0.813" />
<item
    android:color="#FFBDBFC1"
    android:offset="1" />
</gradient>

ic_card. xml

 <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="288dp"
android:height="130dp"
android:autoMirrored="true"
android:viewportWidth="288"
android:viewportHeight="130">
<path
    android:fillColor="@color/tohumkart1"
    android:pathData="M0,0H288V130H0Z"></path>
<path
</vector>

сборка. gradle:

vectorDrawables.useSupportLibrary = true

Приложение. java:

   static
{
   AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
}

реализация:

 val cardImage = creditCardModel?.let { cardHelper.getCardImage(it) }
                 cardImage?.let { brCardImage.setImageResource(it) }

пробовал:

cardHelper.getDrawable(ApplicationContext.getInstance().activityContext,cardImage!!)

Есть ли способ отразить цвета градиента в просмотре изображений под API 23 с Android Studio 3.0 .?

1 Ответ

0 голосов
/ 30 марта 2020

Я попробовал API 21, и он работает!

работаю в java не kotlin ,, и я использовал ресурс рисования в xml, а не в коде

, и я не использовал эту часть

AppCompatDelegate.setCompatVectorFromResourcesEnabled ()

и, как упоминалось в этом ответе , вы должны использовать setImageDrawable не setImageResource

enter image description here

...