Android 捕获人行横道Cordova webview触摸事件
我正在使用和构建一个基于web的Android应用程序 我试图在我的应用程序的主要活动中捕获XWalk webview上发生的任何触摸事件,但到目前为止,我尝试的所有操作都无法在调试会话期间触发触摸事件 具体地说,我正在尝试捕获web视图上任意位置的三个手指滑动,以便显示设置窗格 以下是我到目前为止在主要活动中得到的信息:Android 捕获人行横道Cordova webview触摸事件,android,cordova,webview,crosswalk-runtime,Android,Cordova,Webview,Crosswalk Runtime,我正在使用和构建一个基于web的Android应用程序 我试图在我的应用程序的主要活动中捕获XWalk webview上发生的任何触摸事件,但到目前为止,我尝试的所有操作都无法在调试会话期间触发触摸事件 具体地说,我正在尝试捕获web视图上任意位置的三个手指滑动,以便显示设置窗格 以下是我到目前为止在主要活动中得到的信息: public class MyActivity extends CordovaActivity { @Override public void onCreat
public class MyActivity extends CordovaActivity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
super.init();
super.loadUrl(Config.getStartUrl());
// appView is the main xwalk webview setup in parent
appView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
// Check for three finger swipe...
}
});
}
....
}
我意识到我可能可以通过javascript事件捕获触摸事件,然后通过cordova api调用触发操作,但我更希望android应用程序中有这种逻辑
我还尝试用onTouchEvent
方法捕获触摸事件
public boolean onTouchEvent(View view, MotionEvent event) {
int action = event.getAction();
// Check for three finger swipe...
}
但是,这种方法永远不会被触发
任何帮助或想法都将不胜感激。我通过重写
Activity
类中定义的dispatchTouchEvent
方法成功地实现了这一点。这是捕获触摸事件并将其委托给我的cordova webview,而无需启动我的onTouchEvent
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
int action = ev.getAction();
// handle three finger swipe
super.dispatchTouchEvent(ev);
}
我希望这可以帮助面临此问题的人:)您能帮我检测滚动事件吗。谢谢您的回答。仅供参考,dispatchTouchEvent(ev)后您缺少分号:)