2009-09-16 6 views

Répondre

4

En RIM 4.6 et supérieur, vous pouvez utiliser Arrière-plan:

class ExRichTextField extends RichTextField { 

    int mTextColor; 

    public ExRichTextField(String text, int bgColor, int textColor) { 
     super(text); 
     mTextColor = textColor; 
     Background background = BackgroundFactory 
       .createSolidBackground(bgColor); 
     setBackground(background); 
    } 

    protected void paint(Graphics graphics) { 
     graphics.setColor(mTextColor); 
     super.paint(graphics); 
    } 
} 

pour RIM 4,5 et inférieur événement de peinture de fond de dessiner youreself:

class ExRichTextField extends RichTextField { 

    int mTextColor; 
    int mBgColor; 

    public ExRichTextField(String text, int bgColor, int textColor) { 
     super(text); 
     mTextColor = textColor; 
     mBgColor = bgColor; 
    } 

    protected void paint(Graphics graphics) { 
     graphics.clear(); 
     graphics.setColor(mBgColor); 
     graphics.fillRect(0, 0, getWidth(), getHeight()); 
     graphics.setColor(mTextColor); 
     super.paint(graphics); 
    } 
} 
+0

Merci, fonctionne comme une brise! Toutefois, lorsque je l'ajoute à VerticalFieldManager, je ne vois pas les barres de défilement, j'ai défini le style du gestionnaire sur VERTICAL_SCROLL} VERTICAL_SCROLLBAR. Une raison pour laquelle cela n'apparaît pas? – Ram

+0

Impossible de résoudre ce problème .. Il semble que la barre de défilement n'apparaisse pas lorsque la taille préférée du gestionnaire est définie. –

+0

Un autre problème que j'ai rencontré était lorsque j'ajoute le ExRichTextField au VerticalFieldManager après le champ BitmapField, tout l'écran défile à la place du défilement ExRichTextField seul, qui est le comportement attendu. L'ajout de deux managers à la classe résoudrait-il le problème? – Ram

0
RichTextField mes_=new RichTextField("texto de ejemplo",Field.NON_FOCUSABLE){ 
    protected void paint(Graphics g){ 
     g.setColor(0x00e52f64); 
     super.paint(g); 
    } 
}; 
mes_.setBackground(BackgroundFactory.createSolidBackground(0xFFFADDDA)); 

procédé incrustaded dans la déclaration de son changi ng la couleur de la police. La méthode appelée après l'a créée pour changer l'arrière-plan en une couleur solide.

Questions connexes