Поле растрового изображения с фокусом на весь экран

Я добавил 2 BitmapFields (стрелки влево и вправо) на один HorizontalFieldManager, но когда я нажимаю в любом месте HFM, BitmapFields получает фокус и показывает, что он выбран.

Я хочу нигде не показывать фокус, пока он не нажмет на BitmapFields.

Ниже приведен код для него:

bmfBottomRight = new BitmapField(bmpBottomRightFocused, FOCUSABLE) {
                protected boolean navigationClick(int status, int time) {
                    int fieldIndex = getCurrentFieldIndex();
                    if (fieldIndex < (surveyList.size() - 1))
                        updateIncrField(fieldIndex);
                    return super.navigationClick(status, time);
                }
            };

            bmfBottomLeft.setPadding(5, 0, 5, ((Display.getWidth() - bmfBottomRight.getPreferredWidth()) >> 1) - bmfBottomRight.getPreferredWidth());

Я устанавливаю Padding для него.


person AnkitRox    schedule 20.12.2012    source источник
comment
Хорошо, я позабочусь об этом. Я также использую навигационный клик для выполнения некоторых действий, таких как изменение поля метки на экране. Моя проблема не для navigationClick(). Моя проблема в том, что он получает фокус для всех HorizontalFieldManager. Я хочу ограничить фокус только стрелками.   -  person AnkitRox    schedule 21.12.2012
comment
navigationClick() влияет на то, как фокус передается между полями, поэтому, если вы не реализуете его правильно, ваша обработка фокуса не будет работать правильно. вот почему я спросил.   -  person Nate    schedule 22.12.2012
comment
Я использую navigationClick() как bmp = new BitmapField() { protected boolean navigationClick(int status, int time) { return false; }; }   -  person AnkitRox    schedule 22.12.2012
comment
В своем вопросе вы показываете другую реализацию navigationClick(), поэтому я не уверен, какую из них вы используете. Если все, что вы делаете, это return false; в navigationClick(), то вы сообщаете ОС, что ваш BitmapField никогда не обрабатывает щелчок, и щелчок должен быть передан другому Field или Manager для обработки. Это правильно только в том случае, если ваш BitmapField не кликабельный/фокусируемый. Взгляните на Документация API для navigationClick()   -  person Nate    schedule 23.12.2012
comment
Спасибо, Нейт, у меня есть решение, как я уже упоминал в своем ответе ниже. Также спасибо за вашу помощь и усилия.   -  person AnkitRox    schedule 24.12.2012


Ответы (1)


Добавили пустые поля new NullField(Field.NON_FOCUSABLE). И добавил два разных нулевых поля слева и справа от bitmap field. ТАК Я могу сфокусироваться на растровом поле, только нажав на него.

person AnkitRox    schedule 21.12.2012