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

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

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

1 ответ

Попробуй это

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);
           }
        };
Другие вопросы по тегам