【问题标题】:Vector drawable with gradient color not supporting below API 24不支持低于 API 24 的渐变颜色矢量可绘制
【发布时间】:2019-03-04 08:40:21
【问题描述】:

矢量可绘制图像包含Gradient 颜色,对于低于 24 的 API 版本,这些颜色未显示在 imageview 中,我使用的是 Android-Studio 3.1

ic_gradient_image.xml:

<aapt:attr name="android:fillColor">
         <gradient android:endX="270.1115" android:endY="1.3445"
              android:startX="243.3148" android:startY="512.6555" android:type="linear">
               <item android:color="#FFFF9426" android:offset="0"/>
               <item android:color="#FF9D6936" android:offset="0.4076"/>
               <item android:color="#FF404146" android:offset="0.8154"/>
               <item android:color="#FF1B314C" android:offset="1"/>
          </gradient>
  </aapt:attr>

以上xml显示,

属性 endX 仅用于 API 级别 24 及更高级别。

属性 endY 仅用于 API 级别 24 及更高级别。

属性 offset 仅用于 API 级别 24 及更高级别。

build.gradle:

vectorDrawables.useSupportLibrary = true

Application.java:

static
{
    AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
}

在适配器中实现:

holder.product_image.setImageResource(R.drawable.ic_gradient_image);

也试过了,

holder.product_imageButton.setImageDrawable(mContext.getResources().getDrawable(R.drawable.ic_gradient_image));

我试过Solution1Solution 2

有什么方法可以在 API 23 下使用 Android Studio 3.0 在 imageview 中反映 gradient 颜色。

【问题讨论】:

  • 你能找到解决办法吗?

标签: android android-drawable


【解决方案1】:

试试这个解决方案:https://stackoverflow.com/a/54683616/2960387

将此添加到您的build.gradle

defaultConfig {
    vectorDrawables.useSupportLibrary = true
}

在 ImageView 上使用 app:srcCompat 而不是 android:src

如果您想要 ImageButton,请使用 androidx.appcompat.widget.AppCompatImageButton 而不是 ImageButton

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-19
    • 2021-10-28
    • 2020-10-26
    • 2016-07-24
    • 1970-01-01
    相关资源
    最近更新 更多