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

时间:2018-12-19 16:04:55

标签: android performance android-layout android-fragments android-recyclerview

我将<ImageView />的高度设置为wrap_content。我正在recycler adapter

中添加此布局

10 images周围将所有图像都设置为wrap_content

有什么方法可以获取Glide渲染的图像的高度。

我正在使用它,但是它返回的是屏幕尺寸,而不是图像dimensions

 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 个答案:

答案 0 :(得分:1)

改为使用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);
         }
     });