动态设置ImageView宽高,并自适应

需求现场:

  1. 有些图片的宽高在布局的时候是不能够直接设定的,而是根据动态获取图片的同时,获取图片的宽高在设定
  2. 另外图片需要自适应

解决方案:类似以下代码

                            int bitmapHeight = bitmap.getHeight();
                            float unitHeight = getResources().getDimension(R.dimen.spu_good_info_height_unit);(注意用float,不用int)
                            expandview_appearance.getLayoutParams().height = (int)(unitHeight * bitmapHeight);  (此刻在转成int)
                            expandview_appearance.getLayoutParams().width = (int)getResources().getDimension(R.dimen.spu_good_info_width);
                            expandview_appearance.setBackground(new BitmapDrawable(bitmap));

其中R.dimen.spu_good_info_height_unit是自适应的基本单位1px,在其他分辨率下可能就是0.9啦等。。

如此即可。

你可能感兴趣的:(动态设置ImageView宽高,并自适应)