2009-07-21 5 views
1

私は、テキストを入力するときにBitmap.Nowを使用してBorderでカスタマイズされたBasicEditFieldを作成しました。これはBasicEditFieldの境界を横切っています。ブラックベリー - 大文字のBasicEditField

これは私が以前に入力したテキストを非表示にするBasicEditFieldを作成したいと、新たに入力したテキストや入力したテキストがborder.Itにしなければなりません表示が依存してはならない私のコード

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); 
    } 
} 

ですchars limit.Andの数は、テキストと境界の間にパディングを適用したい。

答えて

1

BasicEditFieldをHorizo​​ntalFieldManagerに配置できます。
境界ビットマップペインティングをBasicEditFieldからHorizo​​ntalFieldManagerに移動することを忘れないでください。

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); 
    } 

} 

しかし、あなたはlayoutとsetExtentを使って、サイズマネージャに遊んで正しく編集する必要があります。私の助言は、境界ビットマップなしでそれを試してみることです。

は、私がHorizo​​ntalFieldManagerにBasicEditFieldから国境ビットマップを移動する方法を知らない

+0

...マネージャー内BasicEditFieldにパディングを設定したり、境界ビットマップに空白を追加し、ラップの話Scroll BasicEditField instead of wrap

を参照してください? – Rajapandian

+0

提供されているコードを見てください。すでにpaint()に入っていますので、注意を払ってしまいました。 –

+0

@MaxGontar背景イメージやEdittextieldを設定するにはどうしたらいいですか? – Hitarth