Фреска: Как установить цвет оттенка SimpleDraweeView faultImage? - PullRequest
0 голосов
/ 27 декабря 2018

Я использую библиотеку Facebook Fresco Android (версия 1.11.0).

У меня есть SimpleDraweeView с атрибутом failureImage 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" />

1 Ответ

0 голосов
/ 27 декабря 2018

Согласно коду в демонстрационном приложении Fresco на Github, вам может быть проще делать то, что вы ищете, с помощью кода (они используют SimpleDraweeView внутри DraweeHierarchyFragment) - поскольку все расширенные атрибуты xml для 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);

Итак, вы выбираете рисуемое изображение для вашего изображения ошибкидобавьте оттенок к этому рисуемому изображению, а затем добавьте тонированное нарисованное изображение в SimpleDraweeView, используя setFailureImage(...).

...