2011-05-26 5 views
1

Je veux créer un champ d'édition dont le curseur reste à droite de celui-ci.
Pour illustrer si je veux écrire "blackberry", le résultat devrait être comme ceci.Blackberry Editfield garder le curseur sur le côté droit

<-----------width-of-editfield------> 
            b 
            bl 
            bla 
           blac 
           black 
           blackb 
           blackbe 
          blackber 
          blackberr 
          blackberry 

Merci


En raison de non-sens du manque de chose de la réputation, je ne peux pas répondre à ma propre question.
De toute façon, j'ai trouvé un moyen facile. width fait référence à la largeur du gestionnaire qui contient ce champ d'édition.

editField = new EditField("","",maxChars,EditField.NO_NEWLINE | EditField.NON_SPELLCHECKABLE){ 
     protected boolean keyChar(char key, int status, int time) { 
     editField.setPadding(0, 0, 0, width - (getFont().getAdvance(this.getText())) - 10); 
     invalidate(); 
     return super.keyChar(key, status, time); 
    } 
}; 
+0

Il semble que vous voulez dire que le texte est aligné à droite :) – Swati

Répondre

1

Tout comme la solution de Swati. Je l'ai fait comme ceci:

editField = new EditField("", "", maxChars, EditField.NO_NEWLINE | EditField.NON_SPELLCHECKABLE){ 
    protected boolean keyChar(char key, int status, int time){ 
     switch (key){ 
      case Characters.BACKSPACE:{ 
       try { 
        text = text.substring(0,text.length()-1); 
        invalidate(); 
       } catch (IndexOutOfBoundsException e) {} 
       return true; 
      } 
     } 
     text = text + key; 
     invalidate(); 
     return true; 
    } 
    protected void paint(Graphics graphics) { 
     graphics.drawText(text,0, 0, DrawStyle.RIGHT, width - 10); 
     super.paint(graphics); 
    } 
}; 
1

Vous devrez créer votre propre Manager, malheureusement. Il n'y a pas de moyen simple ou évident de le faire.

A solution with source code a été publié sur les forums BlackBerry.

+0

De toute façon, j'ai trouvé un moyen facile. C'est dans le poste de question. –

+0

Vous ne devriez vraiment pas mettre le padding sur chaque keychar, mais tout ce qui fonctionne pour vous. – Swati

+0

pourquoi pas? J'ai essayé ceci sur 6.0 cela fonctionne. –

Questions connexes