我有一个垂直的现场经理,里面有很多水平的现场经理。在每个水平字段管理器中有 1 个位图字段和另一个垂直字段管理器(3 个标签字段)。
我能够更改具有焦点的水平字段管理器的背景颜色(渐变)。但是我想在焦点上更改该管理器中标签字段的颜色(白色),并在未聚焦时更改回颜色(黑色)。此外,isFocus() 不适用于经理和标签字段的绘制。
我有一个垂直的现场经理,里面有很多水平的现场经理。在每个水平字段管理器中有 1 个位图字段和另一个垂直字段管理器(3 个标签字段)。
我能够更改具有焦点的水平字段管理器的背景颜色(渐变)。但是我想在焦点上更改该管理器中标签字段的颜色(白色),并在未聚焦时更改回颜色(黑色)。此外,isFocus() 不适用于经理和标签字段的绘制。
尝试这个
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);
}
};