获取View高度的几种方式

来源:互联网 发布:百万网络公众测试平台 编辑:程序博客网 时间:2024/05/29 06:28

http://www.jb51.net/article/64727.htm

http://www.cnblogs.com/taoweiji/p/3400891.html

ViewTreeObserver vto = tv.getViewTreeObserver();
            vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
                public void onGlobalLayout() {
                    
                    heigh = appDescription.getHeight();
                    
                    tv.getViewTreeObserver().removeGlobalOnLayoutListener(this);
                }
            });

int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
int h = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
mFlowDetailByPackages.measure(w, h);
vto = mDetailed.getViewTreeObserver();
heightTotal = mFlowDetailByPackages.getMeasuredHeight();
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {

@Override
public void onGlobalLayout() {
// TODO Auto-generated method stub
int heightView = mDetailed.getHeight();
mDetailed.getViewTreeObserver().removeGlobalOnLayoutListener(this);
if(heightTotal - heightView >0){
mRefreshListView.getRefreshableView().scrollTo(0, heightTotal-heightView);
}
}
});

0 0