Blackberry - BasicEditField с поведением LabelField - PullRequest
0 голосов
/ 15 января 2010

Я хочу, чтобы BasicEditField вел себя так же, как поле метки. Причина, по которой я этого хочу, в том, что я не могу использовать поле метки в моем случае, так как в случае 9500 метод onFocus по какой-то причине не работает. Но это в случае основного поля редактирования. Поэтому мне нужно создать собственное поле метки.

1 Ответ

1 голос
/ 15 января 2010

В дизайне пользовательского интерфейса понятие «Фокус» - это локус, на который направлен пользовательский ввод. Метки и другие пассивные элементы интерфейса не принимают ввод пользователя, поэтому концепция акцентирования метки не имеет смысла. Одновременно наличие активного элемента интерфейса становится видимым, когда фокус направлен, а соседний элемент , и невидимым, когда тот же соседний элемент теряет фокус, не имеет смысла. Чтобы появившийся и исчезающий элемент получил ввод, он должен сначала получить фокус. Это означает, что сначала смежный элемент должен потерять фокус, в результате чего целевой входной элемент станет невидимым. Обычно невидимые элементы не могут получать ни фокус, ни ввод.

Если вы полны решимости обеспечить такое взаимодействие с пользователем, я бы предложил следующее:

Расширение класса Manager, отображение метки внутри. Когда Менеджер или любой из его детей получает фокус, добавьте свои Кнопки. Когда все дети менеджера больше не будут в фокусе, удалите ваши кнопки.

...