2010-10-23 6 views
0

Je souhaite créer six boutons d'image similaires à ceux de l'écran d'accueil, tels que les paramètres, les téléchargements ou les messages. Lorsque je passe au bouton suivant, le précédent doit s'estomper, tout comme le simulateur. J'utilise le simulateur 9700 et JDE 5.0.0.Boutons image BlackBerry

+1

en double de http://stackoverflow.com/questions/2912223/image-button-in-blackberry –

+0

essayer de remplacer la méthode onFocus() ... – BBdev

+0

cochez ce lien [Click me] (http://pradeeppankaj.wordpress.com/2010/07/14/buttonfield-with-image-as-a-background/) – rupesh

Répondre

0

s'il vous plaît utiliser cette classe pour faire un bouton d'image personnalisée et ajouter dans un écran:

import net.rim.device.api.system.Bitmap; 
import net.rim.device.api.ui.Graphics; 
import net.rim.device.api.ui.component.ButtonField; 


public class BitmapButtonField extends ButtonField { 
    private Bitmap bitmap; 
    private Bitmap bitmapHighlight; 
    private boolean highlighted = false; 

    /** 
    * Instantiates a new bitmap button field. 
    * 
    * @param bitmap the bitmap to use as a label 
    */ 
    public BitmapButtonField(Bitmap bitmap, Bitmap bitmapHighlight) { 
     this(bitmap, bitmapHighlight, ButtonField.CONSUME_CLICK|ButtonField.FIELD_HCENTER|ButtonField.FIELD_VCENTER); 
    } 

    public BitmapButtonField(Bitmap bitmap, Bitmap bitmapHighlight, long style) { 
     super(style); 
     this.bitmap = bitmap; 
     this.bitmapHighlight = bitmapHighlight; 
    } 

    /* (non-Javadoc) 
    * @see net.rim.device.api.ui.component.ButtonField#layout(int, int) 
    */ 
    protected void layout(int width, int height) { 
      setExtent(getPreferredWidth(), getPreferredHeight()); 
    } 

    /* (non-Javadoc) 
    * @see net.rim.device.api.ui.component.ButtonField#getPreferredWidth() 
    */ 
    public int getPreferredWidth() { 
      return bitmap.getWidth(); 
    } 

    /* (non-Javadoc) 
    * @see net.rim.device.api.ui.component.ButtonField#getPreferredHeight() 
    */ 
    public int getPreferredHeight() { 
      return bitmap.getHeight(); 
    } 

    /* (non-Javadoc) 
    * @see net.rim.device.api.ui.component.ButtonField#paint(net.rim.device.api.ui.Graphics) 
    */ 
    protected void paint(Graphics graphics) { 
      super.paint(graphics); 
      int width = bitmap.getWidth(); 
      int height = bitmap.getHeight(); 
      Bitmap b = bitmap; 
      if (highlighted) 
       b = bitmapHighlight; 
      graphics.drawBitmap(0, 0, width, height, b, 0, 0); 
    } 

    public void setHighlight(boolean highlight) 
    { 
     this.highlighted = highlight;   
    } 
} 
Questions connexes