我有一个 webView,我在里面显示 Google v3 API 地图。我有 panControl 和 zoomControl 需要用 dPad 导航。从我的菜单中,我导航右箭头,然后 dPad 进入 panControl 左箭头上的 web 视图。通过一个蓝色的空心矩形可以看到焦点,当我通过 dPad 时,它将重新定位在每个箭头上。几个问题...
- 按下dpad的中心OK后如何重新获得焦点(矩形)?
- 如何在 zoomControl 上获得焦点状态(我现在唯一的状态是按下状态,按下时将 + 或 - 按钮变为蓝色......我需要一个焦点状态)?
- 我如何知道我在哪个元素上(即 - panControl 的左箭头),以便我可以通过在我的 onKey 中返回 true 来控制 dPad?
这是一个屏幕截图,您可以看到我所说的焦点矩形:
下面是代码:
mWebView.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if (event.getAction() == KeyEvent.ACTION_UP) {
switch(keyCode) {
case KeyEvent.KEYCODE_DPAD_CENTER:
Log.i(DEBUG_TAG, "KEYCODE_DPAD_CENTER");
return false;
case KeyEvent.KEYCODE_DPAD_DOWN:
Log.i(DEBUG_TAG, "KEYCODE_DPAD_DOWN");
return false;
case KeyEvent.KEYCODE_DPAD_UP:
Log.i(DEBUG_TAG, "KEYCODE_DPAD_UP");
return false;
case KeyEvent.KEYCODE_DPAD_RIGHT:
Log.i(DEBUG_TAG, "KEYCODE_DPAD_RIGHT");
return false;
case KeyEvent.KEYCODE_DPAD_LEFT:
Log.i(DEBUG_TAG, "KEYCODE_DPAD_LEFT");
return true;
}
return false;
}
return false;
}
});
我的最终目标是能够在 webview 中使用 dpad,然后当我到达缩放的 (-) 并按下 dpad 时,我想导航到“播放”按钮,然后右箭头穿过底部屏幕到其他控件。如果我从底部控件离开箭头并点击“播放”,那么我想弹回左侧导航“地图”项目。