1

我正在尝试使用 webview 来显示一个页面,该页面执行一些非常基本的画布动画并将当前时间显示为字符串。我使用 setTimeout() 每秒更新一次内容(或动画每秒 30 次)。

我的问题是,只要我触摸屏幕,我的 javascript 就会停止执行。

我得到的最远的方法是将触摸事件的侦听器添加到我的 javascript 并在事件处理程序中调用 e.preventDefault() ,这在大多数情况下都有帮助,但似乎错过了一些没有触发任何常见 javascript 事件的情况。

我尝试的下一件事是覆盖默认的触摸处理程序,如下所示:

myWebView.setOnTouchListener(new View.OnTouchListener() {
  @Override
  public boolean onTouch(View v, MotionEvent event) {
    return true;
  }
});

这有帮助,但问题是它在发送到我的 web 视图之前消耗了触摸事件,因此无法在 javascript 中侦听触摸事件。

我想禁用所有默认的 Android 行为,如缩放等,因为这会阻止我的动画,但我仍然希望能够在 javascript 中使用这些事件。

有任何想法吗?

4

1 回答 1

0

是的,返回false。如果你返回真,你“说”处理的事件。

http://developer.android.com/reference/android/view/View.html#onTouchEvent(android.view.MotionEvent)

于 2013-02-27T21:56:58.743 回答