私は現在、ダブルタップに応答したい webView に GestureDetector を持っています。ただし、webView はすべての単一タップを無視します。おそらく、この動作もオーバーライドしました。
を探しています:
- コードによって検出され、アクティビティによって処理されるダブルタップ
- WebView によって通常どおり処理される通常のタップ
これが私がこれまでに持っているものです:
final WebView web = (WebView) findViewById(R.id.webView1);
WebViewClient webrules = new WebViewClient(){
public boolean shouldOverrideUrlLoading(WebView web,String url){
return false;
}
};
web.setWebViewClient(webrules);
WebSettings webSettings = web.getSettings();
webSettings.setJavaScriptEnabled(true);
final GestureDetector gestureDetector = new GestureDetector(new GestureDetector.SimpleOnGestureListener() {
@Override
public boolean onDoubleTap(MotionEvent e) {
Log.d("**APP**", "Double Tap event");
return true;
}
@Override
public boolean onDown(MotionEvent e) {
return true;
}
});
gestureDetector.setIsLongpressEnabled(true);
web.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
return gestureDetector.onTouchEvent(event);
}
});
通常のシングルタップを webView に任せて処理するにはどうすればよいですか?