Android获取Web视图的高度

时间:2014-04-15 10:52:23

标签: java android view webview

我需要获得我的网页视图的高度,以便我可以以编程方式计算出上边距。我正在使用AddOnPreDraw方法,它在手机上运行良好,但只要我在平板电脑上使用它就会返回null。

ViewTreeObserver viewTreeObserver = topContent.getViewTreeObserver();

    viewTreeObserver.addOnPreDrawListener(new OnPreDrawListener() {

        @Override
        public boolean onPreDraw() {
            int height = topContent.getMeasuredHeight();
            if (height != 0) {
                Log.d("Web View Height", "Continue Height: " + height);
                    RelativeLayout instructions = (RelativeLayout) findViewById(R.id.info_layout);
                    instructions.post(mAddTabletMargin);
            }
            topContent.getViewTreeObserver().removeOnPreDrawListener(
                    this);
            return false;
        }

    });

所以问一个问题是为什么它适用于手机但不适用于平板电脑? 问题2是否有任何其他方法可以用来获得webvie的高度而已被绘制出来?

提前致谢。

1 个答案:

答案 0 :(得分:0)

这是执行此操作的简单方法。

webView.post(new Runnable() {

        @Override
        public void run() {
            // TODO Auto-generated method stub

            webView.getHeight();
        }
    });