ImageView获取宽高

时间:2021-12-26 23:54:15

在Android里放置一个ImageView im1,宽和高都是200.以下代码都是直接在OnCreate里使用。

1、在Android OnCreate里如果直接使用iv.GetWidth()返回值为0.

2、方式1,在Create里使用获取的值不太正常。
int i = View.MeasureSpec.makeMeasureSpec(0, 0);
int j = View.MeasureSpec.makeMeasureSpec(0, 0);
mSuperMan.measure(i, j);
mSuperManWidth = mSuperMan.getMeasuredWidth();//图片的实际大小
mSuperManHeight = mSuperMan.getMeasuredHeight(); 
3、方式2

im1.post(new Runnable() {

    @Override
public void run() {
int w=im1.getWidth();
int h=im1.getWidth();
}
});
w,h显示正常

4、方式3

ViewGroup.LayoutParams para = im1.getLayoutParams();
int w=para.width;
int h=para.height;
w,h显示正常