出现这种情况多半是因为在测量之前WebView 还没加载完毕,因为View的Measure过程和Activity的生命周期方法不是同步执行的,所以无法保证Activity执行了onCreate()、onStart()、onResume()时某个View已经测量完毕了,如果View还没有测量完毕,那么获得宽/高就是0
所以我的结局方案就是:当webview加载完成后,再去获取她的宽高:
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
//webview加载完毕的回调,这时候测量webview宽高不会出现为0的问题
if (mWebView != null && mWebView.getProgress() == 100){
//获取宽高
}
}