【问题标题】:Android webview: JavaScript halts on touchAndroid webview:JavaScript 停止触摸
【发布时间】: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


    【解决方案1】:

    是的,返回 false。如果您返回 true,则您“说”该事件已处理。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-03
      • 1970-01-01
      • 1970-01-01
      • 2013-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多