如何在绘制视图之前正确测量视图的高度

时间:2014-09-13 20:03:45

标签: android

所以我扩展了一个视图类以便自定义它,我想知道在构造对象时创建的上下文,但是在绘制对象之前它将占用的高度/宽度。

我使用了以下代码,但getMeasuredHeight()的输出与我在绘制元素后调用getHeight()方法时的输出不同。

    measure(ViewGroup.LayoutParams.MATCH_PARENT,
            ViewGroup.LayoutParams.WRAP_CONTENT);

    getMeasuredHeight();

1 个答案:

答案 0 :(得分:1)

尝试以下观察者

{
ViewTreeObserver treeObserver=measuringView.getViewTreeObserver();
            treeObserver.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {

        @Override
        public void onGlobalLayout() {
        int height=measuringView.getHeight();
        }
        }
}