0

我有一个垂直的现场经理,里面有很多水平的现场经理。在每个水平字段管理器中有 1 个位图字段和另一个垂直字段管理器(3 个标签字段)。

我能够更改具有焦点的水平字段管理器的背景颜色(渐变)。但是我想在焦点上更改该管理器中标签字段的颜色(白色),并在未聚焦时更改回颜色(黑色)。此外,isFocus() 不适用于经理和标签字段的绘制。

4

1 回答 1

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);
           }
        };
于 2011-08-31T09:33:53.983 回答