HI,我有一个@override,我在原生Android中使用设备音量键滚动webView(scrollView)。当用户单手使用时,这对用户来说是一个非常好的功能。我想将它与Phonegap一起使用。显然我不能使用:WebView scrollView = (WebView) findViewById(R.id.ch01);
那么如何在Phonegap中使用/实现功能或将函数传递给jQuery?
有些代码会有所帮助 - 我在jQ& amp; PhoneGap的。日Thnx!
这是我使用的覆盖:
@Override
// --------------- Set the Device Volume Keys to Scroll the WebView -->
public boolean dispatchKeyEvent(KeyEvent event) {
int action = event.getAction();
int keyCode = event.getKeyCode();
WebView scrollView = (WebView) findViewById(R.id.ch01);
switch (keyCode) {
case KeyEvent.KEYCODE_VOLUME_UP:
if (action == KeyEvent.ACTION_DOWN) {
scrollView.pageUp(false);
}
return true;
case KeyEvent.KEYCODE_VOLUME_DOWN:
if (action == KeyEvent.ACTION_DOWN) {
scrollView.pageDown(false);
}
return true;
default:
return super.dispatchKeyEvent(event);
}
}
答案 0 :(得分:1)
最简单,最快捷的方法是扩展onKeyDown method override in DroidGap.java。在条件中添加一些情况,捕获音量键,并使用您在此方法中看到的相同方法,您可以通过调用以下内容来直接调用JavaScript:
this.appView.loadUrl("javascript:alert('hello world!');");
当然,您可能会将alert
调用更改为特定于您的应用程序的其他内容,或者甚至可能直接调用window.scrollBy
来进行滚动。
更好,更模块化的方法是将此功能封装到PhoneGap plug-in中。然后你可以将它贡献给社区,因为我相信其他人也会欣赏并利用它! ;)