WebView не хочет терять фокус при нажатии кнопки D-Pad - для Google TV - PullRequest
0 голосов
/ 22 марта 2012

Я создаю приложение для Google TV, в левой части которого есть вкладки (библиотека LeftNavBar).У меня есть фрагмент, который отображается на правой стороне моего приложения.Этот фрагмент сопоставлен с одной из вкладок и содержит WebView.

Первоначально фокус находится на вкладке, а нажатие правой кнопки D-Pad перемещает фокус на WebView (прекрасно работает).

Проблема, с которой я столкнулся, заключается в том, что при нажатии левой кнопки D-Pad для перемещения фокуса обратно на вкладку WebView отказывается терять фокус.

  • Обратите внимание, что фокус не изменяется при нажатии только левой кнопки D-Pad.Правый D-Pad изменяет фокус, если что-то находится на правой стороне WebView.

1 Ответ

0 голосов
/ 07 ноября 2012

У меня была эта проблема, и я смог ее обойти, зафиксировав нажатие левой кнопки D-Pad внутри самого веб-просмотра, а затем запросив фокус родительского просмотра.Например,

    mWebView.setOnKeyListener(new OnKeyListener() {         
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            if(keyCode == KeyEvent.KEYCODE_DPAD_LEFT && event.getAction() == KeyEvent.ACTION_DOWN) {
                //requestFocus() on parent view
                return true;
            }
            return false;
        }
    });   
...