我有一个垂直的现场经理,里面有很多水平的现场经理。在每个水平字段管理器中,有1个位图字段和另一个垂直字段管理器(3个标签字段)。
我能够改变有焦点的水平场管理员的背景颜色(GRADIENT)。但是我想在焦点上更改该管理器中labelfields的颜色(WHITE),并在非焦点时更改颜色(BLACK)。此外,isFocus()对于管理器和标签字段的绘制都不起作用。
答案 0 :(得分:0)
试试这个
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);
}
};