scrollview中嵌套webview无法显示,一开始以为是没有加载,后来换了个链接,发现了一闪而过的画面,所以判断是加载了,但是为什么没显示呢?后来查资料发现,原来是ScrollView和WebView都有焦点和滑动事件,高度无法自适应,所以我就在监听webview加载完后重新设置高度就可以了。
记录一下代码:
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true);//设置适应Html5的一些方法
webView.setWebChromeClient(new WebChromeClient());
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
webView.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) webView.getLayoutParams();
params.width = Tools.getWidthInPx(getActivity());
// params.height = Tools.getHightInPx(getActivity()) - Tools.dip2px(getActivity(), 150);
webView.setLayoutParams(params);
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
}
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
super.onReceivedError(view, request, error);
toast("加載失敗");
}
});
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl(url);
但是我现在有个问题,我的url是一个可以自动加载的,就是有分页设计,可是我把webview嵌套在scrollview后发现不能自动加载了,只有webview没有父布局的时候才会自动加载。。。