Android Studio 3.2,Java 1.8,Gradle 4.5
在我的app / 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适配器)中
@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);
}
结果:
右侧(绿色)是成功加载图像。如您所见,它的顶部有圆角。
左侧是默认(错误)图像(橙色)。如您所见,它的顶部没有圆角。
为什么? 如何在正确的图像和默认(错误)图像上加工圆角?