android webview 显示不出来
16lz
2021-01-26
1 webview 使用 loadDataWithBaseURL 方法的时候是没有问题,但是在ScrollView下边使用的时候,在小米手机显示不了;
2 在webview 设置固定高度的时候在ScrollView是正常的,但是一般我们并不清楚高度是多少,那么解决的方法是
WebSettings ws = reservedView.wv_web.getSettings(); ws.setAppCacheEnabled(true);//启用localstorage本地存储api ws.setLightTouchEnabled(true);//启用选中功能 ws.setDomStorageEnabled(true);//启用dom存储(关键就是这句),貌似网上twitter显示有问题也是这个属性没有设置的原因 ws.setDatabaseEnabled(true);//启用html5数据库功能 ws.setTextSize(WebSettings.TextSize.NORMAL);//通过设置WebSettings,改变HTML中文字的大小 (使用后字体变大) ws.setJavaScriptEnabled(true);//设置js可用 // WebView中Http和Https混合问题 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { ws.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW); } //主要方法 reservedView.wv_web.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { reservedView.wv_web.loadUrl(url); return true; } @Override public void onPageFinished(WebView view, String url) { //这里必须是这样的 reservedView.wv_web.loadUrl("javascript:App.resize(document.body.getBoundingClientRect().height)"); super.onPageFinished(view, url); } @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); } }); reservedView.wv_web.addJavascriptInterface(this, "App"); reservedView.wv_web.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); reservedView.wv_web.setVerticalScrollBarEnabled(false); reservedView.wv_web.setVerticalScrollbarOverlay(false); reservedView.wv_web.setHorizontalScrollBarEnabled(false); reservedView.wv_web.setHorizontalScrollbarOverlay(false);
重写resize方法
@JavascriptInterface public void resize(final float height) { runOnUiThread(new Runnable() { @Override public void run() { int h = (int) (height * getResources().getDisplayMetrics().density); reservedView.wv_web.setLayoutParams(new LinearLayout.LayoutParams(getResources().getDisplayMetrics().widthPixels, h+40)); } }); }
更多相关文章
- android webview的 一些设置(js java交互)
- Android动画Animator开发问题
- Android(安卓)ListView的item button点击无响应的解决方法
- MPAndroidChart常见设置属性(一)——应用层
- Android(安卓)notification的使用实例
- Android——Canvas类的使用
- Android(安卓)实现文字按照路径曲线显示
- android 修改AlertDialog的黑色背景的两种方式及圆角边框的设置
- Android(安卓)清除所有Notification的一些探究