从longpress开始在Android WebView中进行缩放

时间:2012-05-01 02:27:10

标签: android webview zoom long-press

我正在寻找一种方法来双击复制本机WebView缩放,但通过长按而触发。因为,使用双标签缩放,我希望缩放以触摸点为中心缩放,然后能够以编程方式缩小到默认缩放级别。

我原以为可能有办法在longpress处理程序中将双击手势欺骗到WebView并为其提供长按的坐标,但我无法找到方法。

可以这样做吗?

1 个答案:

答案 0 :(得分:0)

根据本文中的信息找到一个可行的,如果有点hacky解决方案:

Double tap Programmatically on WebView

我替换了以下内容:

public void simulateDoubleTap()
    {
        simulateDoubleTapEvent(0);
        simulateDoubleTapEvent(2);
        simulateDoubleTapEvent(2);
        simulateDoubleTapEvent(1);
        simulateDoubleTapEvent(0);
    }

使用:

public void simulateDoubleTap()
    {
        simulateDoubleTapEvent(MotionEvent.ACTION_DOWN);
        simulateDoubleTapEvent(MotionEvent.ACTION_UP);
        simulateDoubleTapEvent(MotionEvent.ACTION_DOWN);
        simulateDoubleTapEvent(MotionEvent.ACTION_UP);
    }

然后从我的longpress处理程序中添加了对simulateDoubleTap()的调用。这似乎有效 - 但并非100%一致。可能想要在事件之间添加一些小延迟,看看是否能够平滑它。另外我注意到,当放大时,事情可以用于单个事件,但是它采用双击的两个触发器来缩小。这可能是因为我正在使用的手势处理程序或其他一些问题,但通常这似乎做了我需要的。