【问题标题】:Loading images using Glide in Imageview在 Imageview 中使用 Glide 加载图像
【发布时间】:2016-05-09 12:04:32
【问题描述】:

我正在使用 Glide 库在 imageview 中加载图像并使用以下代码。

Glide.with(mActivity)
                .load(img.getmGridViewImageUrl())
                .placeholder(R.color.grey_light)
                .into(imageHolder.imageView);

灰色占位符在图像未加载之前可见,但在图像在 imageview 中加载后,占位符仍会出现并在该图像之后显示一些空白区域。

我该如何解决这个问题。如果您有任何想法,请帮助我。

【问题讨论】:

  • 你确定你没有在 xml 中为 imageview 设置背景
  • 不,我没有使用 xm 文件中图像视图的任何背景。 <ImageView android:id="@+id/thumbnail" android:layout_width="match_parent" android:adjustViewBounds="true" android:scaleType="fitCenter" android:layout_height="wrap_content" /> 这是我用于 imageView 的。
  • 尝试删除 scaleType 或 adjustViewBounds ,你确定你需要这 2 个属性

标签: android imageview android-glide


【解决方案1】:

试试这个代码。

当我为 ImageView 提供固定高度时,它对我有用。

这是布局

<ImageView 
    android:id="@+id/imgPoster"
    android:layout_width="fill_parent"
    android:layout_height="@dimen/height_of_getInspired_list"
    android:layout_centerVertical="true"
    android:scaleType="fitXY" 
    android:src="@drawable/default_image"/>

这是我的代码。

Glide.with(this.context).load(inspiredList.get(position).image)
.error(R.drawable.default_image)
.centerCrop()
.crossFade()
.placeholder(R.drawable.default_image).into(holder.imgPoster);

【讨论】:

  • 我无法将固定图像高度提供给 imageview,我只能将 wrap_content 提供给 imageview。
  • 你也可以试试类似于 Glide 的 Picasso。 square.github.io/picasso Glide 库有一些 .jpeg 文件的问题,它变成绿色或灰色背景。请使用 .png 文件进行验证。还要检查适合我的比例类型 FitXy
【解决方案2】:

试试这个代码..这会帮助你..

Glide.with(this).load(photo_url)
            .crossFade()
            .thumbnail(0.5f)
            .diskCacheStrategy(DiskCacheStrategy.ALL)
            .placeholder(R.drawable.plaeholder_image)
            .listener(new RequestListener<String, GlideDrawable>() {
                @Override
                public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
                    return false;
                }

                @Override
                public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
                    imageView.setImageDrawable(resource);
                    return false;
                }
            })
            .into(imageView);

请使用占位符图片而不是颜色。您将能够使用可绘制的纯灰色图像作为占位符图像。

【讨论】:

    猜你喜欢
    • 2017-12-17
    • 1970-01-01
    • 2019-09-08
    • 2015-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多