2019独角兽企业重金招聘Python工程师标准>>>

Android 开发-Android开发论坛推荐:http://www.eoeandroid.com/

悲催的写代码的路上总是遇到各种各样的问题,这不又碰到了一个头疼的问题!关于Webview中无法触发手势方法的解决方法,我在一个页面里放入了一个webview组件,并将其组件铺满屏幕,全屏幕除了下面的导航栏其余都是这个webview,后来我想在webview中触发滑动手势的onfling方法,在webview还没加载完网页内容之前正常,可是webview加载完网页之后,就无法触发方法了,经过上网已大艘,终于找到了解决方法,!如下

一般我们用于接收GestureDetector对象的方法是OnTouchevent();,而在View组件占用了屏幕空间之后,这个方法就无效了,只有换成 dispatchTouchEvent方法才有效! 不多说,上代码啦!!!

package com.example.rss_test;

import com.example.rss_test.util.MyGestureListener;

import android.annotation.SuppressLint; import android.app.Activity; import android.os.Bundle; import android.os.StrictMode; import android.view.GestureDetector; import android.view.MotionEvent; import android.view.Window; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Toast;

@SuppressLint("SetJavaScriptEnabled") public class NewsContent extends Activity{ WebView webview; GestureDetector detector; @Override protected void onCreate(Bundle savedInstanceState) { requestWindowFeature(Window.FEATURE_NO_TITLE); StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectDiskReads()
.detectDiskWrites()
.detectNetwork() // or .detectAll() for all detectable problems
.penaltyLog()
.build());
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
.detectLeakedSqlLiteObjects()
.penaltyLog()
.penaltyDeath()
.build());
super.onCreate(savedInstanceState); setContentView(R.layout.news_content); webview=(WebView)findViewById(R.id.newscontent_webview); webview.getSettings().setJavaScriptEnabled(true);//设置支持JS webview.getSettings().setSupportZoom(true);//实现缩放 detector = new GestureDetector(this, new MyGestureListener(this)); webview.setWebViewClient(new WebViewClient(){
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}); webview.loadUrl("http://www.163.com"); } /** * 把触摸事件交给手势识别对象 */

     @Overridepublic boolean dispatchTouchEvent(MotionEvent ev) {    //注意这里不能用ONTOUCHEVENT方法,不然无效的Toast.makeText(NewsContent.this, "jinru", 1).show();detector.onTouchEvent(ev);webview.onTouchEvent(ev);//这几行代码也要执行,将webview载入MotionEvent对象一下,况且用载入把,不知道用什么表述合适return super.dispatchTouchEvent(ev);}

}

最终效果图:看!TOAST被执行了!

Android 开发 http://www.eoeandroid.com/

转载于:https://my.oschina.net/eoeandroid/blog/167263

Webview中无法触发手势方法(ontouchevent,onfling...)的解决方法相关推荐

  1. ajax回调函数中不能触发input[type='file']事件的解决方法

    今天在做文件上传遇到一个问题,在ajax回调成功后触发input[type='file']元素的事件时始终不能弹出文件选择对话框 ,于是开始各种问题的排除,最终我发现在ajax 异步提交不行,要同步提 ...

  2. double java 精度丢失_java中double和float精度丢失问题及解决方法

    在讨论两位double数0.2和0.3相加时,毫无疑问他们相加的结果是0.5.但是问题总是如此吗? 下面我们让下面两个doubles数相加,然后看看输出结果: @Test public void te ...

  3. css鼠标经过div1时div2消失,CSS_两个div叠加触发事件发生闪烁问题的解决方法,当鼠标移到div1上的时候,会出 - phpStudy...

    两个div叠加触发事件发生闪烁问题的解决方法 当鼠标移到div1上的时候,会出现div2.出现时div2在div1的上面,div2在出现后发生闪烁的问题. 于是开始找问题根源,发现原来是因为当我们触发 ...

  4. function()默认参数中ReferenceError Cannot access ‘a‘ before initialization的解决方法

    function()默认参数中ReferenceError: Cannot access 'a' before initialization的解决方法 代码 <!DOCTYPE html> ...

  5. win10网络邻居看到linux,在Deepin 20系统中网络共享Windows无法访问的另类解决方法...

    本文在Deepin 20系统中实现网络共享Windows,但无法访问,以下是另类的解决方法之一. 系统环境 共享主机:Deepin 20. 访问共享:Windows7\10家庭版或专业版. 配置和出现 ...

  6. 计算机c盘属性不显示安全选项,win7系统中文件夹属性安全选项卡空白的解决方法...

    在win7系统中,有小伙伴在使用文件夹属性的时候出现了问题,我们在win7系统中有小伙伴发现自己的文件夹属性中的"安全"选项卡不见了,安全选项卡是我们在win7系统中可以用来修改文 ...

  7. C# .net中cookie值为中文时的乱码解决方法

    C# .net中cookie值为中文时的乱码解决方法 一.cookie的名称或子cookie的名称不能为中文,否则无法获得cookie 这个好办,名称不用中文即可 二.cookie的值为中文时候,取c ...

  8. JS中常遇到的浏览器兼容问题和解决方法

    JS中常遇到的浏览器兼容问题和解决方法 参考文章: (1)JS中常遇到的浏览器兼容问题和解决方法 (2)https://www.cnblogs.com/wws-bk/p/9770834.html 备忘 ...

  9. 在vuejs 中使用axios不能获取属性data的解决方法

    在vuejs 中使用axios不能获取属性data的解决方法 参考文章: (1)在vuejs 中使用axios不能获取属性data的解决方法 (2)https://www.cnblogs.com/lo ...

最新文章

  1. 如何分割字符串以便可以访问项目x?
  2. sort函数——利用函数实现快速排序c++
  3. gps有几个轨道面_嫦五“一脚刹车”,进了环月轨道
  4. 依赖注入_引用其他的bean
  5. 网友关于 S/4HANA里的Call List和E-mail集成的提问
  6. LeetCode 1976. 到达目的地的方案数(迪杰斯特拉 Python 优先队列)
  7. html css考试题选择题,html_JavaScript_css试题
  8. Okhttp源码简单解析(一)
  9. phpcms的phpcms_auth导致的任意变量覆盖漏洞、本地文件包含漏洞和任意文件下载漏洞...
  10. 什么是PERT网络分析?
  11. 微信消息模板换行符转义问题处理
  12. 群晖Docker青龙面板部署方法V2.11.0
  13. 投影、坐标系统、基准面和椭圆体、空间参考几个概念的详述
  14. 多变量微积分笔记(1)——向量和矩阵
  15. 阿里 java 开发手册
  16. 基于惯性动作捕捉技术进行快速动画制作教程
  17. MxNet系列——how_to——new_op
  18. vba传值调用_VBA传递参数步骤
  19. 酷狗 KRC 文件的解析
  20. CAD制图初学入门教程:CAD图纸目录的使用

热门文章

  1. 简洁大气带进度条的URL跳转页面HTML源码
  2. 网站运营过程中经常触碰的几大误区
  3. Memcached 学习篇【转】
  4. 无法在Web服务器上启动调试。与Web服务器通信时出现身份验证错误
  5. 解决ubuntu中vi不能正常使用方向键与退格键的问题 - 部分按键无法正常使用 按键乱码...
  6. Elasticsearch整理笔记(五)
  7. 数据结构---array
  8. Github无法拉代码
  9. C++——cout输出流与字符指针
  10. Nginx学习之十四-GDB调试Nginx初试