【发布时间】:2012-07-20 01:39:10
【问题描述】:
我正在尝试使用 webview 来显示一个页面,该页面执行一些非常基本的画布动画并将当前时间显示为字符串。我使用 setTimeout() 每秒更新一次内容(或者动画每秒更新 30 次)。
我的问题是,只要我触摸屏幕,我的 javascript 就会停止执行。
我得到的最远的事情是在我的 javascript 中添加触摸事件的侦听器并在事件处理程序中调用 e.preventDefault(),这在大多数情况下都有帮助,但似乎错过了一些没有常见 javascript 事件的情况被解雇了。
接下来我尝试重写默认的触摸处理程序,如下所示:
myWebView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return true;
}
});
这有帮助,但问题是它在发送到我的 webview 之前消耗了触摸事件,因此无法在 javascript 中侦听触摸事件。
我想禁用所有默认的 Android 行为,例如缩放等,因为这会阻止我的动画,但我仍然希望能够在 javascript 中使用这些事件。
有什么想法吗?
【问题讨论】:
标签: javascript android webview touch