gpt4 book ai didi

android - 在 Android 中保持 ImageView 的比例

转载 作者:行者123 更新时间:2023-11-30 02:15:39 25 4
gpt4 key购买 nike

我必须设置 ImageView 的背景图片,然后设置此 ImageView 的 imageSource。

所以我所做的是使用 setBackgroundImage() 设置 ImageView 背景。我也设置adjustViewBounds = truescaleType = "fitCenter",以及 height = 55dpwidth = wrap content

所以我预计第一次(当我只设置背景时)会有这种情况 - View 将具有相同的比例并且适合最小的 - 宽度或高度(当然如果高度大于 55dp,它将被缩放)。但结果是缩放图像(当图像应大于 55 dp,即缩放高度)。图像位于 RelativeLayout 中。不幸的是,我无法发布整个代码。

提前致谢。

最佳答案

您必须子类化 ImageView 并覆盖 onLayout() 以保持宽度/高度比,如下所示:

@Override
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
double ratio = ...

int width = right - left;
int height = ratio * width;
ViewGroup.LayoutParams params = this.getLayoutParams();
params.height = height;
params.width = width;
this.setLayoutParams(params);
this.setMeasuredDimension(width, height);
super.onLayout(changed, left, top, right, top + height);
}

关于android - 在 Android 中保持 ImageView 的比例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29414749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com