使一个WebView中双击工作 [英] Make a Double Click work in a WebView
问题描述
我有一个有一定双击功能,因此与Android,当你双击在浏览器中它只是一个放大的网站。所以我建立一个web视图,所以我可以在骑双击并使其像它应该作出反应。
I have a Website that has some double click functionality and so with android when you double click in the browser it will just zoom. So I am building a WebView so I can over ride the double click and make it react like it should.
public class myWebView extends Activity{
GestureDetector gs = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView engine = (WebView) findViewById(R.id.web_engine);
engine.getSettings().setJavaScriptEnabled(true);
engine.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
engine.getSettings().setSupportMultipleWindows(true);
engine.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
return super.onJsAlert(view, url, message, result);
}
});
engine.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
engine.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (gs == null) {
gs = new GestureDetector(
new GestureDetector.SimpleOnGestureListener() {
//overrides the double click
@Override
public boolean onDoubleTapEvent(MotionEvent e) {
// SOME CODE THAT SIMULATES A DOUBLE CLICK
return true;
}
});
}
gs.onTouchEvent(event);
return false;
}
});
engine.loadUrl("http://www.google.com");
}
}
因此函数onDoubleTapEvent(MotionEvent五)将尽一切是在双击的事件之间。 以上code主要是由于太Cehm 。
所以在这一点上,我需要将其招执行双击。可我只是模拟点击的夫妇在那里?
So at this point I need to trick it to executing a a double click. Can I just simulate a Couple of click in there?
推荐答案
试试吧:
私人GestureDetector GS = NULL;
private GestureDetector gs = null;
私人OnTouchListener onTouch =新OnTouchListener(){
private OnTouchListener onTouch = new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (gs == null) {
gs = new GestureDetector(self,
new GestureDetector.SimpleOnGestureListener() {
@Override
public boolean onDoubleTapEvent(MotionEvent e) {
//Double Tap
snapWebView.zoomIn();//Zoom in
return true;
}
@Override
public boolean onSingleTapConfirmed(MotionEvent e) {
//Single Tab
snapWebView.zoomOut();// Zoom out
return false;
};
});
}
gs.onTouchEvent(event);
return false;
}
};
最后,设置OnTouch事件的WebView
Finally, set OnTouch event to WebView
webView.setOnTouchListener(onTouch);
webView.setOnTouchListener(onTouch);
请参阅细节:如何使双击的WebView ?
这篇关于使一个WebView中双击工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!