ScrollView 包含 ViewPager,ViewPager中包含WebView 高度处理

来源:互联网 发布:怎样恢复手机sd卡数据 编辑:程序博客网 时间:2024/05/07 23:29

  这几天做项目碰见的坑,界面需要ScrollView包含ViewPager,ViewPager某一项为webView

有过相同项目经历的应该都知道,webView设置成自适应或者充满布局都不行,只能在ViewPager中滑动。所以我们可以设置Viewpager的高度,可是怎么获得webView的高度呢。百度N多方法  设置高度无效,直接上代码

//传入url
public void refresh(String url) { //设置外层高度 final View parentView = (View) web.getParent(); web.getSettings().setJavaScriptEnabled(true); web.addJavascriptInterface(new HeightGetter(parentView), "jo"); web.setWebViewClient(new WebViewClient() { public boolean shouldOverrideUrlLoading(WebView view, String url) { return false; } public void onPageFinished(WebView view, String url) { web.loadUrl("javascript:window.jo.run(document.documentElement.scrollHeight+'');"); } }); if (!UtilMethod.isNull(url)) { web.loadUrl(url); } } private class HeightGetter { private final View parentView; public HeightGetter(View parentView) { this.parentView = parentView; } @JavascriptInterface public void run(final String height) { activity.runOnUiThread(new Runnable() { public void run() { //获取到的高度 转换为dp parentView.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,UtilMethod.dp2px(activity,Integer.valueOf(height)))); } }); } }

0 0
原创粉丝点击