Android网络视图:JavaScript在触摸时停止

Android webview: JavaScript halts on touch

本文关键字:触摸 JavaScript 网络 视图 Android      更新时间:2023-12-13

我正在尝试使用Web视图来显示一个页面,该页面可以执行一些非常基本的画布动画,并将当前时间显示为字符串。我使用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中使用这些事件。

有什么想法吗?

是,返回false。如果返回true,则表示事件已处理。

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