gpt4 book ai didi

android - 如何获取 android.widget.ImageView 的宽度和高度?

转载 作者:IT老高 更新时间:2023-10-28 12:50:47 24 4
gpt4 key购买 nike

╔══════════════════════════════════════════════╗   ^
║ ImageView ╔══════════════╗ ║ |
║ ║ ║ ║ |
║ ║ Actual image ║ ║ |
║ ║ ║ ║ |60px height of ImageView
║ ║ ║ ║ |
║ ║ ║ ║ |
║ ╚══════════════╝ ║ |
╚══════════════════════════════════════════════╝
<------------------------------------------------>
90px width of ImageView

我有一个具有一些默认高度和宽度的 ImageView ,图像存储在 db 中,我想根据 Imageview 高度宽度缩放 Image。因为我不希望它给出默认值,因为当我改变它的高度和宽度时,我也必须在代码中改变它。

我正在尝试获取 ImageView 的高度和宽度,但在这两种情况下都返回 0。

int height = ((ImageView) v.findViewById(R.id.img_ItemView)).getHeight();

即使它有默认的高度和宽度,它也会返回 0

最佳答案

我在 this question 上的回答可能会帮助你:

int finalHeight, finalWidth;
final ImageView iv = (ImageView)findViewById(R.id.scaled_image);
final TextView tv = (TextView)findViewById(R.id.size_label);
ViewTreeObserver vto = iv.getViewTreeObserver();
vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
public boolean onPreDraw() {
iv.getViewTreeObserver().removeOnPreDrawListener(this);
finalHeight = iv.getMeasuredHeight();
finalWidth = iv.getMeasuredWidth();
tv.setText("Height: " + finalHeight + " Width: " + finalWidth);
return true;
}
});

然后您可以在 onPreDraw() 方法中添加图像缩放工作。

关于android - 如何获取 android.widget.ImageView 的宽度和高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4680499/

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