@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final ImageView p_w_picpathView = (ImageView) findViewById(R.id.p_w_picpathview);
int w = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);
int h = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);
p_w_picpathView.measure(w, h);
int height =p_w_picpathView.getMeasuredHeight();
int width =p_w_picpathView.getMeasuredWidth();
textView.append("\n"+height+","+width);
System.out.println("执行完毕.."+System.currentTimeMillis());
}
//------------------------------------------------方法一
int w = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);
int h = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);
p_w_picpathView.measure(w, h);
int height =p_w_picpathView.getMeasuredHeight();
int width =p_w_picpathView.getMeasuredWidth();
textView.append("\n"+height+","+width);
//-----------------------------------------------方法二
ViewTreeObserver vto = p_w_picpathView.getViewTreeObserver();
vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
public boolean onPreDraw() {
int height = p_w_picpathView.getMeasuredHeight();
int width = p_w_picpathView.getMeasuredWidth();
textView.append("\n"+height+","+width);
return true;
}
});
//-----------------------------------------------方法三
ViewTreeObserver vto2 = p_w_picpathView.getViewTreeObserver();
vto2.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
p_w_picpathView.getViewTreeObserver().removeGlobalOnLayoutListener(this);
textView.append("\n\n"+p_w_picpathView.getHeight()+","+p_w_picpathView.getWidth());
}
});