我需要获取我的 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/