Android WebView高度显示错乱的问题
2015-11-27 14:43
253 查看
今天在改测试姐姐们提出的一个bug时,发现WebView有个高度显示问题,至今还不清楚为什么会出现这个问题(有时间去源码看一下),但问题总算解决了。把这个问题和解决方法记录下来与大家分享!
其实解决办法很简单,就是重新测量绘制webview的高,接下来贴上具体操作代码~~
到这 基本解决办法就是这样,大家在自己开发的时候万一也遇到这个问题可以参考一下哈~~
其实解决办法很简单,就是重新测量绘制webview的高,接下来贴上具体操作代码~~
public class aaa extends Activity { private WebView webView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.aaa_activity); webView = (WebView) findViewById(R.id.webview); setWebView(); webView.addJavascriptInterface(this, "MyApp"); } /** * 设置WebView */ public void setWebView() { WebSettings webSettings = webView.getSettings(); webSettings.setJavaScriptEnabled(true); // 设置支持javascript脚本 webView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url);// 使用当前WebView处理跳转 return true;// true表示此事件在此处被处理,不需要再广播 } @Override public void onPageFinished(WebView view, String url) { webView.loadUrl("javascript:MyApp.resize(document.body.getBoundingClientRect().height)"); super.onPageFinished(view, url); } }); } @JavascriptInterface public void resize(final float height) { runOnUiThread(new Runnable() { @Override public void run() { LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(getResources() .getDisplayMetrics().widthPixels, (int) (height * getResources() .getDisplayMetrics().density)); params.setMargins(15, 0, 10, 0); webView.setLayoutParams(params); } }); } }
到这 基本解决办法就是这样,大家在自己开发的时候万一也遇到这个问题可以参考一下哈~~
相关文章推荐
- Android的Handler用法
- android 如何预置APK
- Android手机在开发调试时logcat不显示输出信息的解决办法
- Swift 协议
- iOS ----- viewController 控制器
- Android文档 webview翻译
- AndroidL 智能指针sp wp RefBase LightRefBase
- setiosflags(ios::fixed)和setprecision()
- Android友盟微社区第三方集成
- a different object with the same identifier value was already associated withthe session异常解决方案
- org.springframework.dao.InvalidDataAccessApiUsageException:The given object has a null identifi的解决方案
- Elasticsearch的Mapping之元数据类型
- org.springframework.dao.InvalidDataAccessApiUsageException:The given object has a null identifi的解决方案
- a different object with the same identifier value was already associated withthe session异常解决方案
- Android调试----日志
- Android修改和添加APN网络
- 移动端Skyline获取Feature图层属性的
- 【Android】 查看周围wifi的ssid,并按信号强弱排序
- iOS 自定义声明及使用带参block
- Android 键盘使用四(中文API)