2009-07-21 6 views
1

J'ai créé un BasicEditField personnalisé avec bordure en utilisant Bitmap.Now tout en tapant le texte, il traverse la frontière du BasicEditField.Blackberry - ligne simple BasicEditField avec grand texte

C'est mon code

class customEditField1 extends EditField 
{ 
    Bitmap mBorder = null; 
    customEditField1(Bitmap borderBitmap) 
    { 
     mBorder = borderBitmap; 
    } 
    protected void paint(Graphics graphics) 
    { 
     graphics.drawBitmap(0, 0, mBorder.getWidth(),mBorder.getHeight(), mBorder, 0, 0); 
     super.paint(graphics); 
    } 
} 

Je veux créer un BasicEditField qui devrait masquer le texte entré précédemment et affiche le nouveau texte saisi et le texte tapé devrait être avec la border.It ne devrait pas dépend le nombre de caractères limite.Et je veux appliquer un remplissage entre le texte et la bordure.

Répondre

1

Vous pouvez placer BasicEditField dans HorizontalFieldManager.
N'oubliez pas de déplacer la peinture bitmap de bordure de BasicEditField à HorizontalFieldManager.

class ScrollEdit extends HorizontalFieldManager { 
    Bitmap mBorder = null; 
    public BasicEditField mEdit = null; 

    public ScrollEdit(Bitmap border) { 
     super(HORIZONTAL_SCROLL | NO_HORIZONTAL_SCROLLBAR); 
     mBorder = border; 
     mEdit = new EditField(BasicEditField.NO_NEWLINE); 
     add(mEdit); 
    } 

    protected void paint(Graphics graphics) { 
     graphics.drawBitmap(0, 0, mBorder.getWidth(), mBorder.getHeight(), 
       mBorder, 0, 0); 
     super.paint(graphics); 
    } 

} 

Mais vous devrez jouer avec layout et setExtent au gestionnaire de taille et éditer correctement. Mon conseil est de l'essayer sans border bitmap en premier.

Voir Scroll BasicEditField instead of wrap

Parler de l'emballage, rembourrage mis à BasicEditField au sein de gestionnaire ou ajouter de l'espace blanc bitmap frontière ...

+0

Je ne sais pas comment déplacer bitmap frontière BasicEditField à HorizontalFieldManager? – Rajapandian

+0

Jetez un oeil au code fourni, il est déjà là dans la peinture(), je viens de noyer votre attention. –

+0

@MaxGontar comment pouvons-nous définir des images de fond ou Edittextield? – Hitarth

Questions connexes