2011-11-24 170 views

回答

1

如果您的按鈕是一個a class="button"標籤,你可以做這樣的:

a.button { 
    color: black; 
} 
0

什麼用 -

image1的是紅色的彩色圖像按鈕和圖像2是黑色

reg_can_btn editprofile = new reg_can_btn("", Field.FOCUSABLE |FIELD_HCENTER, image1, image2, 0x102839); 

然後

public class edit_profile_btn extends Field { 

private String _label; 
private int _labelHeight; 
private int _labelWidth; 
private Font _font; 

private Bitmap _currentPicture; 
private Bitmap _onPicture; 
private Bitmap _offPicture; 
int color; 

public edit_profile_btn(String text, long style ,String img, String img_hvr, int color){ 
    super(style); 


    _offPicture = Bitmap.getBitmapResource(img); 
    _onPicture = Bitmap.getBitmapResource(img_hvr); 

    _font = getFont(); 
    _label = text; 
    _labelHeight = _onPicture.getHeight(); 
    _labelWidth = _onPicture.getWidth(); 

    this.color = color; 

    _currentPicture = _offPicture; 
} 

/** 
* @return The text on the button 
*/ 
String getText(){ 
    return _label; 
} 

/** 
* Field implementation. 
* @see net.rim.device.api.ui.Field#getPreferredHeight() 
*/ 
public int getPreferredHeight(){ 
    return _labelHeight; 
} 

/** 
* Field implementation. 
* @see net.rim.device.api.ui.Field#getPreferredWidth() 
*/ 
public int getPreferredWidth(){ 
    return _labelWidth; 
} 

/** 
* Field implementation. Changes the picture when focus is gained. 
* @see net.rim.device.api.ui.Field#onFocus(int) 
*/ 
protected void onFocus(int direction) { 
    _currentPicture = _onPicture; 
    invalidate(); 
} 

/** 
* Field implementation. Changes picture back when focus is lost. 
* @see net.rim.device.api.ui.Field#onUnfocus() 
*/ 
protected void onUnfocus() { 
    _currentPicture = _offPicture; 
    invalidate(); 
} 

/** 
* Field implementation. 
* @see net.rim.device.api.ui.Field#drawFocus(Graphics, boolean) 
*/ 
protected void drawFocus(Graphics graphics, boolean on) { 
    // Do nothing 
} 

/** 
* Field implementation. 
* @see net.rim.device.api.ui.Field#layout(int, int) 
*/ 
protected void layout(int width, int height) { 
    setExtent(Math.min(width, getPreferredWidth()), 
    Math.min(height, getPreferredHeight())); 
} 

/** 
* Field implementation. 
* @see net.rim.device.api.ui.Field#paint(Graphics) 
*/ 
protected void paint(Graphics graphics){  
    // First draw the background colour and picture 
    //graphics.setColor(this.color); 
    graphics.setBackgroundColor(Color.BLACK); 
    graphics.fillRect(0, 0, getWidth(), getHeight()); 
    graphics.drawBitmap(0, 0, getWidth(), getHeight(), _currentPicture, 0, 0); 

    // Then draw the text 
    graphics.setColor(Color.BLACK); 
    graphics.setFont(_font); 
    graphics.drawText(_label, 4, 2, 
     (int)(getStyle() & DrawStyle.ELLIPSIS | DrawStyle.HALIGN_MASK), 
     getWidth() - 6); 
} 

/** 
* Overridden so that the Event Dispatch thread can catch this event 
* instead of having it be caught here.. 
* @see net.rim.device.api.ui.Field#navigationClick(int, int) 
*/ 
protected boolean navigationClick(int status, int time){ 
    fieldChangeNotify(1); 
    return true; 
} 

} 
1

試試這個它是工作,

public int checkBoxFlag1 = 0; 
    public int checkBoxFlag2 = 0; 
    public int checkBoxFlag3 = 0; 

final Bitmap focuscheckButton = Bitmap.getBitmapResource("checkbox_tickmark.png"); 
     final Bitmap unfocuscheckButton = Bitmap.getBitmapResource("checkbox.png"); 

     HorizontalFieldManager checkBoxFieldManager = new HorizontalFieldManager(); 

     BitmapField checkBox1 = new BitmapField(unfocuscheckButton,Field.FOCUSABLE) 
     { 
      protected void paint(Graphics graphics) 
      { 
       // TODO Auto-generated method stub 
       if(checkBoxFlag1==0) 
       { 
        this.setBitmap(unfocuscheckButton); 
       } 
       else 
       { 
        this.setBitmap(focuscheckButton); 
       } 
       super.paint(graphics); 
      } 
      protected boolean navigationClick(int status, int time) 
      { 
       // TODO Auto-generated method stub 
       if(checkBoxFlag1==0) 
       { 
        checkBoxFlag1=1; 
       } 
       else 
       { 
        checkBoxFlag1=0; 
       } 
       return super.navigationClick(status, time); 
      } 

     };  
     checkBox1.setMargin(0,20,0,20); 
     checkBoxFieldManager.add(checkBox1);