【问题标题】:Loading Image into ImageView with Glide使用 Glide 将图像加载到 ImageView
【发布时间】:2017-12-17 20:11:27
【问题描述】:

我有一个应用程序,它可以将 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.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);

下面是我的问题的屏幕截图:

我的问题是图片中红线所示的部分。蓝线显示我的图像视图。红色部分不应该显示。 我已尝试将 ScaleType 更改为“FitXY”或“CenterCrop”,但它与图片大小混淆。我希望我的图片显示时没有任何裁剪,它是原始大小,并且在 ImageView 中没有像空格这样的填充。

我该怎么办?!

【问题讨论】:

  • @color/opacity 代码和图片网址请给我
  • @BhuvaneshwaranVellingiri 我检查了图片,没有问题,图片没有填充或空白。灰色部分是我的 ImageView 的背景,@color/opacity。我已将其更改为这样,以便可以轻松地显示给您。

标签: android imageview android-glide


【解决方案1】:

在代码中为您的 ImageView 设置 android:adjustViewBounds="true"

【讨论】:

  • 它工作了...但是当没有找到图片并且显示错误占位符时,ImageView的高度与它的宽度一样多(所以它太大了),我该怎么办?!
  • 没关系 :D ...我刚刚删除了占位符,谢谢。
  • 在这种情况下,请通过回调进行。如果失败,只需通过 load(R.drawable.) 或类似的方式加载占位符。不要使用 .placeholder
【解决方案2】:

试试这个设置图片网址。

 Glide.with(getBaseContext())
.load("Your image url parse this place")
               .diskCacheStrategy(DiskCacheStrategy.ALL)
                .thumbnail(0.1f)
                .into(img_glide);

【讨论】:

  • 您是否将图像设置为更改上述代码应该对您有用。
【解决方案3】:

尝试使用您必须使用的centerCropfitCenter 方法。

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);

【讨论】:

  • 我试过了...但它会拉伸图像高度
  • 现在两侧(左右)有空白,我的图片高度是ImageView的min_height
  • 现在我已经尝试了 centerCrop 方法,就像你说的那样,现在用 min_height 裁剪图片(我希望图片显示完全不裁剪)但图片的宽度适合图像视图喜欢它应该@Mehul
猜你喜欢
  • 1970-01-01
  • 2015-10-30
  • 1970-01-01
  • 1970-01-01
  • 2016-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多