Изменение цвета 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);
}
};