在 Android ImageView 中使用 Glide 调整图像大小

新手上路,请多包涵

我对android中图像的处理有很多疑问,我希望看看你是否能解决它们。

在这一点上,我有一个占据 320 dp 高的图像和 match_parent 宽度,大约是屏幕的 60%。这张使用 Glide 加载的图像,是我个人拥有的 1080 中的一些图像。

我尝试制作 centroCrop 和 fitXY,但总是使图像变形。我知道的第一种类型会削减图像,但第二种适合大小,但它确实会使图像变高或变宽。

有什么办法可以用 Glide 插入它并按原样查看它吗?我需要在 ImageView 和 Glide 上触摸哪些属性?

 <ImageView
        android:id="@+id/img"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:nestedScrollingEnabled="false"
        app:layout_collapseMode="parallax"
        android:scaleType="fitXY"
        app:layout_scrollFlags="scroll|enterAlways" />

原文由 Traif 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

Override 必须通过 RequestOptions 在最新版本的 Glide 4.x 中访问。您可以添加 RequestOptions 通过 apply()

 Glide.with(context)
    .load(path)
    .apply(new RequestOptions().override(600, 200))
    .into(imageViewResizeCenterCrop);

原文由 Bhuvanesh BS 发布,翻译遵循 CC BY-SA 4.0 许可协议

Glide 4.x - 如果你想获取位图,请尝试:

 Glide.with(mContext).asBitmap().
                        load(pictureUri)
                        .apply(new RequestOptions().override(50, 50))
                        .listener(new RequestListener<Bitmap>() {
                            @Override
                            public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Bitmap> target, boolean isFirstResource) {
                                return false;
                            }
                        @Override
                        public boolean onResourceReady(Bitmap resource, Object model, Target<Bitmap> target, DataSource dataSource, boolean isFirstResource) {
                            // resource is your loaded Bitmap
                            imgView.setImageBitmap(resource);
                            return true;
                        }
                    }).submit();

原文由 Lam Nguyen 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题