У меня есть webView, в котором я показываю карту API Google v3.У меня есть panControl и zoomControl, которые мне нужны для навигации по dPad.В моем меню я перемещаюсь по стрелке вправо, и dPad входит в веб-представление по левой стрелке panControl.Фокус виден синим полым прямоугольником, который будет перемещаться на каждую стрелку, когда я нажимаю.Пара вопросов ...
- Как восстановить фокусировку (прямоугольник) после нажатия кнопки OK в центре dpad?
- Как получить состояние фокуса на zoomControl (единственное состояние, которое у меня сейчас есть, это нажатое состояние, при котором кнопки + или - становятся синими при нажатии ... Мне нужно состояние фокусировки)?
- Как узнать, на каком элементе я (т.е. - левая стрелка panControl), чтобы я мог взять под контроль dPad, возвращая true в моем onKey?
Вот снимок экраначтобы вы могли видеть прямоугольник, о котором я говорю, для фокуса:
![enter image description here](https://i.stack.imgur.com/tX3Am.jpg)
Ниже приведен код:
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;
}
});
Моя конечная цель заключается в том, чтобы иметь возможностьdpad внутри веб-просмотра, а затем, когда я доберусь до (-) зума и нажму вниз на dpad, я захочу перейти к кнопке «play» и затем стрелке вправо в нижней части экрана для других элементов управления.Если бы я оставил стрелку на нижнем элементе управления и нажал «play», я бы хотел вернуться к левому элементу навигации «Maps».