Android WebView 图片超出宽度自适应,点击查看大图
生活随笔
收集整理的這篇文章主要介紹了
Android WebView 图片超出宽度自适应,点击查看大图
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?
webView?配置?
WebSettings webSettings = webView.getSettings(); webSettings.setJavaScriptCanOpenWindowsAutomatically(true);webSettings.setDomStorageEnabled(true);webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);//自適應(yīng)屏幕 ☆☆webSettings.setDisplayZoomControls(false);webSettings.setJavaScriptEnabled(true); // 設(shè)置支持javascript腳本 ☆☆webSettings.setAllowFileAccess(true); // 允許訪問文件webSettings.setBuiltInZoomControls(true); // 設(shè)置顯示縮放按鈕webSettings.setSupportZoom(true); // 支持縮放webSettings.setLoadWithOverviewMode(true);webSettings.setUseWideViewPort(true);?Android處理事件(ImgTool.java)
public static class JavaScriptInterface {private Context context;public JavaScriptInterface(Context context) {this.context = context;}//點擊圖片回調(diào)方法//必須添加注解,否則無法響應(yīng)@JavascriptInterfacepublic void openImage(String imgsrc) { Bitmap bitmap = null;try{bitmap = BitmapFactory.decodeStream(new URL(imgsrc).openStream());} catch (IOException e){e.printStackTrace();}Drawable drawable;if (bitmap != null){drawable = new BitmapDrawable(context.getResources(), bitmap);//彈出個全屏窗口打開圖片對象 自己寫就行了//ImgTool.ViewImg((Activity) context,drawable);}}}重寫?onPageFinished?注入js
webView.setWebViewClient(new WebViewClient(){@Overridepublic void onPageFinished(WebView view, String url){super.onPageFinished(view, url);/*** 對圖片進(jìn)行重置大小,寬度就是手機屏幕寬度,高度根據(jù)寬度比便自動縮放**/webView.loadUrl("javascript:(function(){"+ "var objs = document.getElementsByTagName('img'); "+ "for(var i=0;i<objs.length;i++) "+ "{"+ "var img = objs[i]; "+ " img.style.maxWidth = '100%'; img.style.height = 'auto'; "+ "}"+ "})()");// html加載完成之后,添加監(jiān)聽圖片的點擊js函數(shù)webView.loadUrl("javascript:(function(){"+ "var objs = document.getElementsByTagName(\"img\"); "+ "for(var i=0;i<objs.length;i++) "+ "{"+ " objs[i].onclick=function() "+ " { "+ " window.imagelistner.openImage(this.src); "+ " } "+ "}"+ "})()");} }); //AndroidtoJS類對象映射到j(luò)s的openImage對象 YourActivity 也就是當(dāng)前的activitywebView.addJavascriptInterface(new ImgTool.JavaScriptInterface(YourActivity.this), "imagelistner");webView.loadUrl(url);?
總結(jié)
以上是生活随笔為你收集整理的Android WebView 图片超出宽度自适应,点击查看大图的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【玩转SQLite系列】目录收藏
- 下一篇: Android Studio 引用aar