我正在尝试使用 HTML5 画布和触摸在 Android 中制作 WebView 应用程序。
这是我认为我的代码的相关部分:
在 onCreate :
WebView myWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
...
myWebView.loadData(content,"text/html", "UTF-8");
其中字符串“内容”包含一个 html / javascript 块,其中包含以下几行。
this.canvas = document.getElementById(AN_ID); // AN_ID is id of a canvas tag
...
this.canvas.addEventListener("touchstart", function(e) {
...
}, false);
this.canvas.addEventListener("touchend", function(e) {
...
}, false);
并且 activity_main.xml 文件包含标签
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
但是我的测试设备 Nexus 7 似乎没有响应触摸事件。如果我用“mousedown”和“mouseup”替换“touchstart”和“touchend”,看起来mousedown事件被识别了。但是 mouseup 的行为不正常(即,就像在浏览器中运行的相同代码一样)。
我显然错过了什么,例如。我需要在 javascript 中启用触摸事件的配置设置?