Почему бы не преобразовать изображение ошибки на Glide? - PullRequest
0 голосов
/ 27 сентября 2018

Android Studio 3.2, Java 1.8, Gradle 4.5

В моем приложении / build.gradle:

implementation "com.github.bumptech.glide:glide:4.2.0"

Вот код, который:

1. Load image from remote URL

2. Create transformation when success load image from remote url (round corners on top)

3. If image is not load then show orange error image

Так что вмой макет xml:

<ImageView
            android:id="@+id/imageViewPhoto"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"            app:imageUrl="@{item.preview.formats.reference.url}"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

В моем коде Java (RecyclerView Adapter)

 @BindingAdapter("imageUrl")
    public static void loadImage(ImageView view, String imageUrl) {
        Glide.with(view.getContext()).load(imageUrl)
                .apply(new RequestOptions().error(R.drawable.default_image))
                .apply(RequestOptions.bitmapTransform(
                        new GlideRoundedCornersTransformation(view.getContext(), (int) AndroidUtil.dpToPx(view.getContext(),
                                view.getContext().getResources().getInteger(R.integer.image_rounded_corner_radius_dp)),
                                0, GlideRoundedCornersTransformation.CornerType.TOP)))
                .into(view);
    }

Вот результат:

enter image description here

На правой стороне (зеленый цвет) находится изображение успешной загрузки.Как вы можете видеть, он имеет закругленные углы в верхней части.

С левой стороны по умолчанию (ошибка) изображения (оранжевый).Как вы можете видеть, на вершине НЕ закруглены углы.

Почему?Как я могу сделать закругленные углы на правильном изображении и на изображениях по умолчанию (ошибка)?

...