我正在使用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" />
答案 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。