我需要获得我的网页视图的高度,以便我可以以编程方式计算出上边距。我正在使用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的高度而已被绘制出来?
提前致谢。
答案 0 :(得分:0)
这是执行此操作的简单方法。
webView.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
webView.getHeight();
}
});