代码之家  ›  专栏  ›  技术社区  ›  Luiz

壁画:如何设置SimpleDraweView故障图像着色颜色?

  •  1
  • Luiz  · 技术社区  · 7 年前

    我正在使用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 回复  |  直到 7 年前
        1
  •  1
  •   chornge jmj    7 年前

    根据壁画上的密码 showcase app 在Github上,您可能会发现使用代码(他们在DropeHierarchyFragment中使用SimpleDraweView)可以更轻松地完成所需的任务,因为 advanced xml attributes 对于SimpleDraweView,不要列出任何有关着色的内容。

    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(...) .