我使用以下代码使用 glide 将圆角图像加载到 imageview 中:
Glide.with(this)
.load(url)
.listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
return false;
}
@Override
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
return false;
}
})
.transition(withCrossFade())
.apply(new RequestOptions().transform(new RoundedCorners(50)).error(R.drawable.default_person).skipMemoryCache(true).diskCacheStrategy(DiskCacheStrategy.NONE))
.into(mBinding.profileImgv);
最佳答案
我遇到了同样的问题,我的问题是我尝试加载的图像以像素为单位 (320x480) 的尺寸较小,然后是 ImageView 的以像素为单位的尺寸。 我的解决方案如下:
xml文件中我的ImageView:
<ImageView
android:id="@+id/image_program_thumb"
android:layout_width="match_parent"
android:layout_height="186dp" />
ProgramViewHolder.java 类
@BindView(R.id.image_program_thumb) ImageView mProgramThumbnail;
.....
void bindData(final Program item) {
RequestOptions requestOptions = new RequestOptions();
requestOptions = requestOptions.transforms(new CenterCrop(), new RoundedCorners(16));
Glide.with(itemView.getContext())
.load(item.getImage())
.apply(requestOptions)
.into(mProgramThumbnail);
....
}
附:我用的是4.2.0版本的Glide
关于android - 滑行圆角变换问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45186181/