2011-01-12 86 views
0

我有一個垂直的現場管理員,裏面有很多橫向的現場經理。在每個水平領域管理器中有1個位圖字段和另一個垂直字段管理器(3個標籤字段)。Color Change LabelField

我能夠改變水平場管理員的背景顏色(GRADIENT),這個顏色曾經是焦點所在。但是我想在焦點上更改該經理內的labelfield的顏色(白色),並在未聚焦時改變顏色(黑色)。此外,isFocus()不適用於經理和標籤字段的繪圖。

回答

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); 
      } 
     };