Android WebView中的触摸事件
问题描述:
我想在Android中使用HTML5画布和触摸来制作WebView应用程序。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中启用触摸事件的配置设置?
答
好的。我解决了它。
我仍然试图从Page.X & Page.Y值而不是event.targetTouches。而且我假设坐标可以从touchend中获得,但事实上并非如此。你必须在touchmove中追踪它们。