使用 Glide 加载图像到 ImageView
Loading Image into ImageView with Glide
我有一个应用程序可以将 api 中的图像加载到我的 RecyclerView 中的 imageView 中。
这是我的 ImageView :
<ImageView
android:id="@+id/Group_ImageView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="100dp"
android:layout_alignParentTop="true"
android:background="@color/_Opacity"
android:scaleType="centerInside"
android:src="@mipmap/ic_launcher" />
这里是我的适配器中的图像加载部分,带有 glide :
Glide.with(mContext).load(goodGroups.getImageUrl()).asBitmap().dontTransform().listener(new RequestListener<String, Bitmap>() {
@Override
public boolean onException(Exception e, String s, Target<Bitmap> target, boolean b) {
return false;
}
@Override
public boolean onResourceReady(Bitmap bitmap, String s, Target<Bitmap> target, boolean b, boolean b1) {
bitmap.setDensity(mContext.getResources().getDisplayMetrics().densityDpi);
return false;
}
}).placeholder(R.mipmap.ic_launcher).error(R.drawable.ic_menu_gallery).into(holder.imageView);
下面是我的问题的屏幕截图:
我的问题出在图中红线部分。蓝线显示我的 Imageview。红色部分不应该显示。
我试过将 ScaleType 更改为“FitXY”或“CenterCrop”,但它弄乱了图片尺寸。我希望我的图片不经过任何裁剪,以其原始大小显示,并且在 ImageView 中没有这些类似填充的空间。
我该怎么办?!
尝试按照您必须使用的 centerCrop
或 fitCenter
方法进行操作。
Glide.with(context).load(url).centerCrop().placeholder(R.drawable.default_image).into(img);
或
Glide.with(context).load(url).fitCenter().placeholder(R.drawable.default_image).into(img);
或
Glide.with(getActivity().getApplicationContext())
.load(url).fitCenter()
.override(500, 758)
.into(mMovieBackgroundImageView);
试试这组图片 url。
Glide.with(getBaseContext())
.load("Your image url parse this place")
.thumbnail(0.1f)
.into(img_glide);
在代码中为您的 ImageView 设置 android:adjustViewBounds="true"
我有一个应用程序可以将 api 中的图像加载到我的 RecyclerView 中的 imageView 中。
这是我的 ImageView :
<ImageView
android:id="@+id/Group_ImageView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="100dp"
android:layout_alignParentTop="true"
android:background="@color/_Opacity"
android:scaleType="centerInside"
android:src="@mipmap/ic_launcher" />
这里是我的适配器中的图像加载部分,带有 glide :
Glide.with(mContext).load(goodGroups.getImageUrl()).asBitmap().dontTransform().listener(new RequestListener<String, Bitmap>() {
@Override
public boolean onException(Exception e, String s, Target<Bitmap> target, boolean b) {
return false;
}
@Override
public boolean onResourceReady(Bitmap bitmap, String s, Target<Bitmap> target, boolean b, boolean b1) {
bitmap.setDensity(mContext.getResources().getDisplayMetrics().densityDpi);
return false;
}
}).placeholder(R.mipmap.ic_launcher).error(R.drawable.ic_menu_gallery).into(holder.imageView);
下面是我的问题的屏幕截图:
我的问题出在图中红线部分。蓝线显示我的 Imageview。红色部分不应该显示。 我试过将 ScaleType 更改为“FitXY”或“CenterCrop”,但它弄乱了图片尺寸。我希望我的图片不经过任何裁剪,以其原始大小显示,并且在 ImageView 中没有这些类似填充的空间。
我该怎么办?!
尝试按照您必须使用的 centerCrop
或 fitCenter
方法进行操作。
Glide.with(context).load(url).centerCrop().placeholder(R.drawable.default_image).into(img);
或
Glide.with(context).load(url).fitCenter().placeholder(R.drawable.default_image).into(img);
或
Glide.with(getActivity().getApplicationContext())
.load(url).fitCenter()
.override(500, 758)
.into(mMovieBackgroundImageView);
试试这组图片 url。
Glide.with(getBaseContext())
.load("Your image url parse this place")
.thumbnail(0.1f)
.into(img_glide);
在代码中为您的 ImageView 设置 android:adjustViewBounds="true"