我想在触摸webview时显示一个按钮,5秒钟之后按钮再自动隐藏,我调用了webview的onTouchListner的onTouch方法负责隐藏显示操作。不滑动网页时触摸能实现效果,可是当滑动时onTouch方法就不被调用了,请问大侠解决办法

解决方案 »

  1.   

    因为滑动时本就是个事件,如果这个滑动事件返回值是false,也就代表不会把传给别的事件,所以这时候touch事件就不会触发,建议你直接把滑动那个返回值返回true,不返回super.XX。但我个人觉得你直接重写oninterceptTouchEvent()这个事件,不要用onTouch(),因为onInterceptTouchEvent()会拦截touch事件,而且它只会调用一次,应该可以很好的满足你的需求,另外你还可以通过返回值去控制touch事件是否向下传递
      

  2.   

    你的意思是重写webwiew,然后重写其oninterceptTouchEvent()方法嘛,如果是这样,我不想重写webwiew,直接在activity里面重写oninterceptTouchEvent()方法,怎么用到webwiew上啊
      

  3.   

    你就随便写个简单的类,继承webwiew,重载oninterceptTouchEvent()方法,其他都都调super方法
    只关注你想实现的造成你现在问题的原因是你的触摸事件被webview oninterceptTouchEvent()截获了 ,然后return true告知别人自己处理,
      

  4.   

    我知道您的意思,其实我最先开始也是这么想的,但是因为不想重写webview,因为在xml文件中还有加入包名,回调啥的,就是看看有没有什么简单的方法,谢谢了