在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显示正常