原文地址:http://www.cnblogs.com/youjun/archive/2012/03/13/2392691.html
在OnCreate()方法中获取控件的高度和宽度,需要使用的一个观察者(否则得到的height, paddingTop等数据为0,因onCreate()执行时,控件还未加载完成)
ViewTreeObserver vto = imageview.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
// 此句若不执行,不影响控件宽高的获取结果,但是当前的onGlobalLayout()会执行多次,执行此句,当前方法只会执行一次
imageview.getViewTreeObserver().removeGlobalOnLayoutListener(
this);
Log.i("TAG", imageview.getMeasuredHeight()
+ " -- - " + imageview.getHeight());
}
});