我正在为 Google TV 构建一个应用程序,该应用程序的左侧有选项卡(LeftNavBar 库)。我有一个片段显示在我的应用程序的右侧。此 Fragment 映射到其中一个选项卡并包含一个 WebView。
最初焦点在选项卡上,按下右方向键按钮将焦点移到 WebView 上(效果很好)。
我遇到的问题是,当按下左方向键按钮将焦点移回选项卡时,WebView 拒绝失去焦点。
- 请注意,仅按左方向键按钮时焦点不会改变。如果 WebView 右侧有东西,右方向键会改变焦点。
我正在为 Google TV 构建一个应用程序,该应用程序的左侧有选项卡(LeftNavBar 库)。我有一个片段显示在我的应用程序的右侧。此 Fragment 映射到其中一个选项卡并包含一个 WebView。
最初焦点在选项卡上,按下右方向键按钮将焦点移到 WebView 上(效果很好)。
我遇到的问题是,当按下左方向键按钮将焦点移回选项卡时,WebView 拒绝失去焦点。
我遇到了这个问题,并通过在 web 视图本身中捕获左方向键按钮的按下来解决它,然后请求父视图的焦点。例如
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;
}
});