Изменение цвета LabelField - PullRequest
       12

Изменение цвета LabelField

0 голосов
/ 12 января 2011

У меня есть вертикальный полевой менеджер, внутри него множество горизонтальных полевых менеджеров.в каждом горизонтальном диспетчере полей есть 1 битовое поле и еще один менеджер вертикального поля (3 поля меток).

Мне удалось изменить цвет фона (GRADIENT) горизонтального диспетчера полей, на который когда-либо фокусировался.Но я хочу изменить цвет (БЕЛЫЙ) полей надписей в этом менеджере и снова изменить цвет (ЧЕРНЫЙ), когда не сфокусирован.Кроме того, isFocus () не работает с краской как для менеджера, так и для поля метки.

1 Ответ

0 голосов
/ 31 августа 2011

Попробуйте это

LabelField rtf=new LabelField(list[i],Field.FOCUSABLE|Field.USE_ALL_WIDTH)
        {
        boolean _inFocus = false;
        public void onFocus(int direction) {
            _inFocus = true;
            super.onFocus(direction);
            this.invalidate();
        }

        public void onUnfocus() {
            _inFocus = false;
            super.onUnfocus();
            this.invalidate();
        }
        public void paint(Graphics g)
           {

         if (_inFocus ){
             g.setBackgroundColor(0x6395CC);
             g.clear();
             g.setColor(Color.WHITE);
            } 
            else
            {
                 g.setBackgroundColor(Color.WHITE);
                 g.clear();
                 g.setColor(Color.BLACK);
            }
             g.clear();
             super.paint(g);
           }
        };
...