Просмотр прокрутки с клавишами громкости и PhoneGap? - PullRequest
0 голосов
/ 24 февраля 2011

Привет, у меня есть @override, который я использую в нативном Android, который прокручивает webView (scrollView) с помощью клавиш громкости устройства. Это действительно хорошая функция для пользователя, когда он / она использует одну руку. Я хотел бы использовать его с PhoneGap. Очевидно, я не могу использовать: WebView scrollView = (WebView) findViewById(R.id.ch01); Так как я могу использовать / реализовать функцию с Phonegap или передать функцию с / в jQuery ??

Некоторый код будет полезен - я нахожусь в трудной ситуации с jQ & 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 Ответ

1 голос
/ 18 марта 2011

Самый простой и быстрый способ сделать это - расширить переопределение метода onKeyDown в DroidGap.java .Если добавить к условию несколько случаев, перехватывая клавиши регулировки громкости и используя тот же подход, который используется в этом методе, вы можете напрямую вызывать JavaScript, вызывая что-то вроде:

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

Конечно, вы бывозможно, измените вызов alert на что-то другое, специфичное для вашего приложения, или, возможно, даже вызовите window.scrollBy напрямую для выполнения прокрутки.

Лучшим, более модульным подходом было бы инкапсулировать эту функциональность в Плагин PhoneGap .Затем вы могли бы передать его сообществу, так как я уверен, что другие оценят и воспользуются этим!;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...