LWUIT: вкладки - как отметить текущую выбранную вкладку

StackOverflow https://stackoverflow.com/questions/8412380

Вопрос

У меня 4 вкладки.Каждая вкладка представлена кнопкой.Эти кнопки используются для выбора текущей отображаемой вкладки.У каждой кнопки есть значок и текст.

Я хочу выделить текущую выбранную вкладку, изменив цвет фона и цвет текстовой метки соответствующей кнопки.Я бы хотел сделать это с помощью редактора тем и ресурсов.

Я создал тему и указал невыделенные, выбранные и нажатые стили для UIID «Tab».Мои вкладки отлично смотрятся в Sun WTK!Отлично!Но я обнаружил, что на реальном телефоне вкладки всегда выглядят невыделенными.Пробовал на Nokia 5800 XPressMusic и C7.В чем разница?

Поэкспериментировав, выяснил причину - кнопки могут быть только в 2-х состояниях: невыделены и нажаты.Они никогда не будут в выбранном состоянии.В эмуляторе, когда я перехожу к кнопке с помощью клавиш навигации, она становится выделенной.

Итак, что мне делать, чтобы отметить текущую вкладку?

Это было полезно?

Решение 2

Я реализовал то, что мне нужно.Спасибо Шаю и его примеру.

Я не использовал свойства темы и внес все изменения в код.Я сделал это, потому что не понял, как установка уникального UIID может мне помочь, поскольку проблема не в идентификации UIID, для которого нужно изменить реквизиты, а в определении стиля кнопки, который нужно изменить.

Ниже приведены некоторые важные примечания к моему решению.

  1. Вызвать кодовый код для кнопок ПОСЛЕ , которые они добавили на вкладки.
  2. При нажатии любой кнопки вкладки обновите стили UNSELECTED кнопок вкладки.Также вы можете изменить их значки.
  3. Вызов генерального кода кода формы после шага 2.

Другие советы

Вы можете использовать несколько разных подходов, особенно в версии 1.5.

В LWUIT 1.5 есть компонент вкладок, который в значительной степени делает все за вас и отличается большой гибкостью.

Он использует переключатели, на которых вызывается метод setToggleButton(true).Кнопки переключения действуют как переключатели, поэтому, когда вы нажимаете кнопку в группе, она остается нажатой и отображается с использованием стиля ToggleButton (вы можете установить для UIID все, что захотите).См. Пример использования кнопок-переключателей в демонстрационной части шрифтов LWUIT demo.

Вариант, который будет работать для более старых версий LWUIT, - просто установить UIID кнопки на другое значение при ее нажатии (и восстановить UIID ранее выбранной кнопки до исходного значения).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top