ImageView fitCenter算法是如何工作的,我有一个image_hight和image_width,我需要以编程方式实现centerFit,但是我没有运气,我试图像这样缩放图像

newPostHolder.height = DeviceHigh;
 int heightOfImage = data.getInt("image_height");
                    if (heightOfImage > ((newPostHolder.height / 100) * 80) || heightOfImage == newPostHolder.height) {
                        heightOfImage = ((newPostHolder.height / 100) * 69);
                    }

                    newPostHolder.one_imageview.getLayoutParams().height = heightOfImage;


像这样

int heightOfImage = 0;
int widthOfImage = 0;

float scalingRatio = ((Float.parseFloat(heightOfImage) / Float.parseFloat(widthOfImage));

 viewHolder.imageLoadingLayout.getLayoutParams().height = Math.round(scalingRatio*width );


第一个大图像看起来仍然很高,第二个大图像上出现某种类型的模糊。

我的问题是如何像fitCenter缩放一样缩放图像?

最佳答案

似乎第二个代码像fitCenter一样工作,我的问题是我在固定大小之前做了检查,多数民众赞成在检查中指出了问题

 int heightOfImage = data.getInt("image_height");
 int widthOfImage = data.getInt("image_width");
 heightOfImage = newPostHolder.width  * heightOfImage / widthOfImage;
 newPostHolder.one_imageview.getLayoutParams().height = heightOfImage;
 newPostHolder.one_imageview.getLayoutParams().width = newPostHolder.width;

07-28 03:38