壁画:如何设置SimpleDraweeView failureImage色调颜色?

时间:2018-12-27 18:56:12

标签: android fresco

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

我有一个SimpleDraweeView,它的绘制属性为failureImage。但是,我想设置此可绘制对象的颜色。

我没有找到“ 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" />

1 个答案:

答案 0 :(得分:1)

根据Github上壁画showcase app中的代码,您可能会发现使用代码做起来更容易(他们在DraweeHierarchyFragment内使用SimpleDraweeView)-因为所有{{3} }的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。