带有音量键的滚动视图& PhoneGap的?

时间:2011-02-24 19:31:39

标签: jquery android cordova

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);
    }
}

1 个答案:

答案 0 :(得分:1)

最简单,最快捷的方法是扩展onKeyDown method override in DroidGap.java。在条件中添加一些情况,捕获音量键,并使用您在此方法中看到的相同方法,您可以通过调用以下内容来直接调用JavaScript:

this.appView.loadUrl("javascript:alert('hello world!');");

当然,您可能会将alert调用更改为特定于您的应用程序的其他内容,或者甚至可能直接调用window.scrollBy来进行滚动。

更好,更模块化的方法是将此功能封装到PhoneGap plug-in中。然后你可以将它贡献给社区,因为我相信其他人也会欣赏并利用它! ;)