Fresco:如何设置 SimpleDraweeView failureImage tint 颜色?

Fresco: How to set SimpleDraweeView failureImage tint color?

我正在使用 Facebook 的 Fresco Android 库(版本 1.11.0)。

我有一个具有 failureImage 可绘制属性的 SimpleDraweeView。但是,我想设置这个可绘制对象的色调。

我没有找到“failureImageTint”或相关的。我该怎么做?

<com.facebook.drawee.view.SimpleDraweeView
    android:id="@+id/image_cover"
    android:layout_width="70dp"
    android:layout_height="70dp"
    android:layout_marginEnd="6dp"
    fresco:failureImage="@drawable/ic_error_img"
    fresco:failureImageScaleType="fitCenter"
    fresco:roundAsCircle="true" />

根据 Fresco showcase app on Github, You might find it easier to do what you're looking for using code (they use a SimpleDraweeView inside a DraweeHierarchyFragment) - since all the advanced xml attributes 中的代码,SimpleDraweeView 没有列出任何关于着色的内容。

这是它的样子:

SimpleDraweeView draweeView = view.findViewById(R.id.image_cover);

Drawable failureDrawable = getResources().getDrawable(R.drawable.ic_error_black_96dp);
DrawableCompat.setTint(failureDrawable, Color.RED);

draweeView.getHierarchy().setFailureImage(failureDrawable, ScaleType.FIT_CENTER);

因此,您为失败图像选择一个可绘制图像,为该可绘制图像添加色调颜色,然后使用 setFailureImage(...).

将着色的可绘制图像添加到您的 SimpleDraweeView