如何从Glide获取图片的宽度和高度

6
我已将<ImageView />的高度设置为wrap_content。我正在在recycler adapter中添加此布局。
大约会有10张图片,所有图片都设置为wrap_content
是否有办法获取Glide渲染的图像的高度?
我正在使用以下方式,但它返回的是屏幕尺寸而不是图像尺寸
 Glide.with(context).load(imgpth).placeholder(R.drawable.bg_loading)
                            .error(R.drawable.bg_loading).into(imageProdctBanner).getSize(new SizeReadyCallback() {
                        @Override
                        public void onSizeReady(int width, int height) {
                            Log.e("width","wdthheight "+width+"  :  "+height);

                        }
                    });

我需要设置recyclerView的高度。
int totalItems= cardsRecyclerAdapter.getItemCount();

    ViewGroup.LayoutParams params=rvCards.getLayoutParams();
    params.height= heightOfImageView *totalItems;
    rvCards.setLayoutParams(params);
1个回答

7

请使用onResourceReady() 方法替代

Glide.with(getContext().getApplicationContext())
     .asBitmap()
     .load(path)
     .into(new SimpleTarget<Bitmap>() {
         @Override
         public void onResourceReady(Bitmap bitmap,
                                     Transition<? super Bitmap> transition) {
             int w = bitmap.getWidth();
             int h = bitmap.getHeight()
             mImageView.setImageBitmap(bitmap);
         }
     });

谢谢,这个运行得很好,它返回的是 dp 还是 px 的值? - dev90
@Kirmani88 当然是以像素为单位。由于这个答案解决了问题,您也可以接受它。 - touhid udoy
好的,谢谢你提供的信息。 - dev90

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接