1
我有一個網站,它具有雙擊功能,因此在雙擊瀏覽器時,它只會縮放。所以我構建了一個WebView,這樣我就可以完成雙擊並使其反應。在WebView中進行雙擊工作
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 e)將在雙擊事件中執行任何操作。 The above code is mostly thanks too Cehm。
所以在這一點上,我需要欺騙它執行一個雙擊。我可以在那裏模擬一些點擊嗎?
它是一個非常糟糕的主意忽視了平臺的UI公約。雙擊手勢放大是衆所周知的,並且由用戶使用,如果您開始使用它來做不同的事情,您只會讓用戶生氣。 – slayton
嗯,我只是爲大型公司用於其員工的特定網站而做的,並且需要雙擊功能。我不想替換android的網絡瀏覽器。我只是爲了一個非常特定的目的而製作一個小應用程序。 – user1366422