今天介绍一下怎么查看WebView里面的图片,首先要设置WebView能够支持JavaScript,然后实现JavaScript的监听接口:

 mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.addJavascriptInterface(
new JavascriptInterface(this.getActivity()), "ImageListener");

下面是JavaScript接口的代码:

 /*
* javascript interface
*/
public class JavascriptInterface {
private Context context; public JavascriptInterface(Context context) {
this.context = context;
} public void ClickImage(String imageUrl) {
Intent intent = new Intent();
intent.putExtra("ImageUrl", imageUrl);
LogHelper.i(imageUrl);
intent.setClass(context, WebViewImageActivity.class);
context.startActivity(intent);
}
}

在WebView的图片上添加事件:

 private void InjectWebViewClickListener() {
StringBuilder str = new StringBuilder();
str.append("javascript:(function(){");
str.append("$('img').each(function(idx,obj){");
str.append("$(obj).click(function(){");
str.append("window.ImageListener.ClickImage($(obj).attr('src'));");
str.append("});});})()");
mWebView.loadUrl(str.toString());
}

最后在WebView的WebViewClient里调用这个事件:

 mWebView.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
super.onReceivedError(view, errorCode, description, failingUrl);
} @Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
// html加载完成之后,添加监听图片的点击js函数
InjectWebViewClickListener();
} });

Android 查看webview里面的图片的更多相关文章

  1. 【Android】WebView读取本地图片

    背景 咱的博客园APP,是通过一个WebView来展示新闻的详情的.新闻必然是图文并茂的,无论是支持离线缓存还是加速新闻的打开速度, 都需要咱们打通本地存储与WebView之间的桥梁. 思路 1:首先 ...

  2. Android 响应webview中图片的点击事件

    最近碰到个新需求需要点击webview中的图片进行放大显示. 整理了下思路,想到了下面的一个可行的方案. 方案思路, 1.在点击图片的时候调用本地的java方法并给出响应的图片地址 2.本地获得图片地 ...

  3. 界面使用webview,并且webview里面有图片进行自动切换导致界面上滚动条卡顿。

    最近的项目是用webview做的界面,但是在界面顶端加了android本地动画效果的横向滚动条.当webview里面的图片切换时导致滚动条动画卡顿. 1:setLayerType(View.LAYER ...

  4. Android UI WebView的使用:

    Android UI WebView的使用: /** * @author smiling * @date 2016/10 */ 布局: <?xml version="1.0" ...

  5. Android中webView的基础使用(一)

    WebView是View的一个子类,可以让你在activity中显示网页. 可以在布局文件中写入WebView:比如下面这个写了一个填满整个屏幕的WebView: <?xml version=& ...

  6. 实现android里面WebView显示内容

    在日常学习.我们会看到,当手机应该检查注册协议.单击协议时,以查看内部协议的全部内容! 以下给大家看看实现的过程: 首先贴show_xy.XML代码: <WebView android:layo ...

  7. 我的Android进阶之旅------&gt; Android在TextView中显示图片方法

    面试题:请说出Android SDK支持哪些方式显示富文本信息(不同颜色.大小.并包括图像的文本信息).并简要说明实现方法. 答案:Android SDK支持例如以下显示富文本信息的方式. 1.使用T ...

  8. Android之webview详解

    文章大纲 一.webview基本介绍1.什么是webview2.为什么要使用webview3.webview基本操作 二.webview高级使用1.WebView状态2.资源加载3.WebView加载 ...

  9. Android的WebView控件载入网页显示速度慢的究极解决方案

    Android的WebView控件载入网页显示速度慢的究极解决方案 [转载来源自http://hi.baidu.com/goldchocobo/] 秒(甚至更多)时间才会显示出来.研究了很久,搜遍了国 ...

随机推荐

  1. [C++]访问控制与继承(public,protect,private) 有时间再整理!!!

    http://www.cnblogs.com/chio/archive/2007/06/11/779408.html http://www.cnblogs.com/SelaSelah/archive/ ...

  2. Linux 下没有 my.cnf 文件的解决方式,完全是我自己整的,好多教程都是瞎扯的 (zhuan)

    http://blog.csdn.net/jspping/article/details/40400691?utm_source=tuicool&utm_medium=referral *** ...

  3. HashMap详解

    HashMap:http://www.cnblogs.com/xwdreamer/archive/2012/06/03/2532832.html ConcurrentHashMap:http://ww ...

  4. Css3_浏览器支持

    #box{     color:red;    ⁄* 所有浏览器都支持 *⁄      color:red !important;   ⁄* Firefox.IE7支持 *⁄    _color:re ...

  5. hdu_2089 不要62

    数位动态规划     数位动态规划是求解一个大区间[L, R]中间满足条件Q的所有数字的个数(或者和,或其他)的一种方法.它通过分析每一位上的数字,一般用 dp[len][digit][...] 来表 ...

  6. php 使用 restler 框架构建 restfull api

    php 使用 restler 框架构建 restfull api restler 轻量级,小巧,构建restfull api非常方便! 官网:http://restler3.luracast.com/ ...

  7. setInterval小问题

    先看下面代码: for (var i = 0; i < 3; i++) { setTimeout(function () { console.log(i) }, 1000); } 运行效果是 输 ...

  8. 20145218 《Java程序设计》第五周学习总结

    20145218 <Java程序设计>第五周学习总结 教材学习内容总结 异常 程序中总有些意想不到的状况所引发的错误,如果不对异常进行正确的处理,则可能导致程序的中断执行,造成不必要的损失 ...

  9. backbone--部分总结

    1.Backbone.history.start 方法可以让我们在点击后退或者前进的时候同样会触发路由的事件. 2.添加路由的路径,添加的路由路径要求重写父类的routes这个对象 var CustR ...

  10. cd命令进入D盘

    CD命令是更改目录命令如果要进入D盘 不用这个命令 直接输入 D: 回车 即可要是你非要使用CD命令那要加参数/DCD D:系统只是认为你想在系统中记忆一下D盘所以还是返回原先目录例:D盘下有一个目录 ...