原文地址: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());
}
});