java - Android获取网页 View 的高度

标签 java android view webview

我需要获取我的 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 后获取它的高度?

提前致谢。

最佳答案

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

webView.post(new Runnable() {

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

            webView.getHeight();
        }
    });

关于java - Android获取网页 View 的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23081544/

相关文章:

android - 在Android中,在OnClick中显示按下的按钮动画?

android - apk 编译时 buildozer 出现奇怪的错误

python - 奥杜 10 : Changing the default search in tree view

java - 开始运行 JMeter 时如何为 JRE 设置 -Xmx

java - 可以使用 Generic 函数将任何 Java 对象转换为 JSON

java - 重建错误

android - 使用 FragmentStatePagerAdapater "The specified child already has a parent"错误

java - 如何使用 Apache Tomcat 7 订购过滤器

android - 启用锁定任务模式时清除任务

python - 如何在 Flask-Admin 中显示角色与用户的关系?