Прокрутка веб-просмотра с помощью клавиш регулировки громкости - PullRequest
0 голосов
/ 09 февраля 2011

Как вы прокручиваете webView с жесткими клавишами громкости? ... и можно ли это сделать с ослаблением? Если так, то как? Я новичок в Android - переход от ActionScript, и любая помощь будет принята с благодарностью

my R.id.webPg001 is a WebView id.

Вот где я сейчас нахожусь:

@Override
  public boolean dispatchKeyEvent(KeyEvent event) {
      int action = event.getAction();
      int keyCode = event.getKeyCode();
      ScrollView scrollView;
      scrollView = (ScrollView) findViewById(R.id.webPg001);        
          switch (keyCode) {
          case KeyEvent.KEYCODE_VOLUME_UP:
              if (action == KeyEvent.ACTION_UP) {
                  scrollView.pageScroll(ScrollView.FOCUS_UP);
                  scrollView.computeScroll(); 
              }
              return true;
          case KeyEvent.KEYCODE_VOLUME_DOWN:
              if (action == KeyEvent.ACTION_UP) {
          scrollView.pageScroll(ScrollView.FOCUS_DOWN);
                  scrollView.computeScroll(); 
              }
              return true;
          default:
              return super.dispatchKeyEvent(event);
          }
      }

Ответы [ 3 ]

2 голосов
/ 10 февраля 2011

Вот правильный код: (thnx NdrU !!)

@Override
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 голос
/ 09 февраля 2011

На всякий случай, если вы не в курсе, обычный механизм навигации - использование клавиш со стрелками или трекбола для навигации на аппаратном уровне. Ваши веб-просмотры должны подключаться к этому механизму без каких-либо дополнительных усилий с вашей стороны, и поэтому, если у вас нет явной причины для нажатия клавиши регулировки громкости в приложении, я бы порекомендовал использовать встроенную функциональность здесь.

1 голос
/ 09 февраля 2011

В WebView есть методы pageUp и pageDown, в соответствии с javadoc , они прокручивают половину страницы, так что вы, вероятно, захотите вызвать их дважды, чтобы получить полную прокрутку страницы.

Что касается кода, который вы имеете, я подумал, что предпочтительным способом прослушивания нажатий кнопок является переопределение onKeyUp и onKeyDown методов, но я могу ошибаться (я новичок в разработке под Android).

...