【问题标题】:Fresco: How to set SimpleDraweeView failureImage tint color?Fresco:如何设置 SimpleDraweeView failureImage tint color?
【发布时间】:2018-12-27 18:56:11
【问题描述】:

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

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

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

【问题讨论】:

    标签: android fresco


    【解决方案1】:

    根据 Github 上 Fresco showcase app 中的代码,您可能会发现使用代码更容易完成您正在寻找的事情(他们在 DraweeHierarchyFragment 中使用 SimpleDraweeView) - 因为 SimpleDraweeView 的所有 advanced xml attributes 都可以没有列出任何关于着色的内容。

    这就是它的样子:

    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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-01
      • 1970-01-01
      • 2023-04-06
      • 2019-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-30
      相关资源
      最近更新 更多