【发布时间】:2012-05-01 02:27:09
【问题描述】:
我正在寻找一种在双击时复制本机 WebView 缩放但通过长按触发的方法。因为,对于双标签缩放,我希望缩放以触摸点为中心进行缩放,然后能够以编程方式缩小到默认缩放级别。
我在想可能有一种方法可以将双击手势欺骗到长按处理程序中的 WebView 并为其提供长按的坐标,但我无法找到一种方法。
这个可以吗?
【问题讨论】:
标签: android webview zooming long-press
我正在寻找一种在双击时复制本机 WebView 缩放但通过长按触发的方法。因为,对于双标签缩放,我希望缩放以触摸点为中心进行缩放,然后能够以编程方式缩小到默认缩放级别。
我在想可能有一种方法可以将双击手势欺骗到长按处理程序中的 WebView 并为其提供长按的坐标,但我无法找到一种方法。
这个可以吗?
【问题讨论】:
标签: android webview zooming long-press
根据这篇文章中的信息找到了一个可行的解决方案:
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 处理程序中添加了对 simulationDoubleTap() 的调用。这似乎有效 - 但它不是 100% 一致的。可能想在事件之间添加一些小的延迟,看看是否可以消除它。我还注意到,在放大时,单个事件会起作用,但需要两次触发双击才能缩小。这可能是因为我正在使用的手势处理程序或其他一些问题,但通常这似乎可以满足我的需要。
【讨论】: