webView 配置

        WebSettings webSettings = webView.getSettings(); webSettings.setJavaScriptCanOpenWindowsAutomatically(true);webSettings.setDomStorageEnabled(true);webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);//自适应屏幕        ☆☆webSettings.setDisplayZoomControls(false);webSettings.setJavaScriptEnabled(true); // 设置支持javascript脚本 ☆☆webSettings.setAllowFileAccess(true); // 允许访问文件webSettings.setBuiltInZoomControls(true); // 设置显示缩放按钮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;}//点击图片回调方法//必须添加注解,否则无法响应@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);/*** 对图片进行重置大小,宽度就是手机屏幕宽度,高度根据宽度比便自动缩放**/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加载完成之后,添加监听图片的点击js函数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类对象映射到js的openImage对象 YourActivity 也就是当前的activitywebView.addJavascriptInterface(new ImgTool.JavaScriptInterface(YourActivity.this), "imagelistner");webView.loadUrl(url);

Android WebView 图片超出宽度自适应,点击查看大图相关推荐

  1. 微信小程序——选择图片,上传图片,点击查看大图,删除图片

    Page({data: {images: [],count: 3, //设置最多三张图片},chooseImage: function () {var self = this;var images = ...

  2. android webview加载html图片自适应手机屏幕大小点击查看大图

    我们在开发中,显示信息详情时,一般后台会给出html文本,在android端一般采用webview控件来展示,但是后台给出的html文本一般是给电脑端用的,没有自适配手机,导致手机端图片显示过大,需要 ...

  3. 安卓 webview加载html图片自适应手机屏幕大小和点击查看大图

    我们在开发中,显示信息详情时,一般后台会给出html文本,在android端一般采用webview控件来展示,但是后台给出的html文本一般是给电脑端用的,没有自适配手机,导致手机端图片显示过大,需要 ...

  4. android webview 自适应屏幕宽度,Android应用开发Android Webview适配屏幕宽度

    本文将带你了解Android应用开发Android Webview适配屏幕宽度,希望本文对大家学Android有所帮助. " Android Webview适配屏幕宽度. 网上有很多解决方案 ...

  5. 点击查看大图(长按保存图片)

    最近做项目时有需求,我就在参考原博客(点击查看大图原博客链接 )后自己又添加方法,最终实现了长按图片获取原图url以后,自动保存图片到本地. 界面是这个样子的:      下面附上关键部分的代码: @ ...

  6. js实现点击查看大图功能

    使用layui的弹窗实现点击查看大图功能 function getImage(url, callback){let img = new Image();img.src = url;if(img.com ...

  7. android webview 自适应屏幕宽度,Android webview加载html自适应屏幕

    最近又写了一篇文章  Android webview加载html代码 上下左右有白边问题 可以参考一下 webView.getSettings().setJavaScriptEnabled(true) ...

  8. Android RecyclerView 显示图片列表,点击查看大图,手指可放大缩小

    该文章基于前篇:https://blog.csdn.net/zhu_nana/article/details/108222330 接着上一篇,直接上代码 holder.myView.setOnClic ...

  9. android 点击查看大图_你是不是遇到,在花瓣网部分图片详情页,点击“放大镜”无法预览高清大图?...

    大家好,此篇文章您可以花 3 分钟学习到:如何借助率叶插件,恢复花瓣网图片详情页预览高清大图. 新品推送:这是什么神仙功能,尽然可以在Photoshop里上花瓣网.站酷.阿里图标等网站! 2020-0 ...

最新文章

  1. eBCC性能分析最佳实践(1) - 线上lstat, vfs_fstatat 开销高情景分析...
  2. vue饼图组件_vue2.0 自定义 饼状图 (Echarts)组件
  3. 数字化时代在线教育行业营销解决方案
  4. LeetCode 700 二叉搜索树中的搜索
  5. [转载]窗口之间的主从关系与Z-Order
  6. 懵圈了,面试官问一个 TCP 连接可发多少个 HTTP 请求?
  7. 服务器接收不到信号,信号(SIGTERM)不被Windows上的subprocess接收
  8. MIT数字经济研究:建平台要以“网络效应”为目标
  9. 一个标准的k-means(误差平方和版本)
  10. nas服务器搭建网站,小白都能看懂的NAS服务器搭建教程
  11. 打印服务器后台程序没有运行,win10遇到“打印后台程序服务没有运行”的解决方法...
  12. 计算机显示不出桌面上的文件夹,为什么电脑桌面上的EXCEL文件不显示EXCEL图标...
  13. IP地址-子网掩码-默认网关之间的关系
  14. 开年第一炸:黑马程序员1月就业报告新鲜出炉!
  15. thinkadmin上传与保存资源文件
  16. DirectShow2
  17. java中如何将字符串数组转换成字符串(转)
  18. Python之strip()
  19. 晶体三极管的三个工作区域及温度对特性的影响
  20. 在IPhone/IPad上建立反弹后门

热门文章

  1. GdiPlus[30]: IGPPen: 线帽
  2. 堆和栈的联系与区别(转贴)
  3. Xamarin效果第三篇之手机底部弹窗
  4. C# 中是否支持 Like 和 ln 条件的参数化查询 ?
  5. 对C#未来的一点感悟
  6. 万字长文 - 解读功能开关 | IDCF
  7. .NET 6新特性试用 | TryGetNonEnumeratedCount
  8. Windows 10 版本 21H2 正式发布
  9. C# 选中 DataGridView 控件中的行时显示不同的颜色
  10. Layui宣布下线,不自禁的感叹一下,回忆啊