2012-03-08 7 views
1

私は最初のBlackBerryアプリケーションを開発しています。背景を黒とすべてのテキスト(BasicEditFieldラベル、Labelなど)に変更したいと思います。Blackberryで背景を黒くするには?

VerticalFieldManagersetBackground(Background bg)メソッドを使用しようとしましたが、コンポーネントが表示されるまで画面を黒くしました。つまり、私はの2つのボタンが1つ下にある場合、バックグラウンドはボタンの終わりまでしか黒ではありません。したがって、画面にコンポーネントが少なくなると、画面は半分黒く半分になります。

  • 画面全体がブラックする必要があります:

    私は私が望む動作を実現することができますどのような方法があります。

  • すべてのテキストラベルは、ホワイトである必要があります。

大変助かりました!

答えて

4

このコードは、今すぐフォントの色を変更するための

EditField edit= new EditField("", "", 100, Field.FOCUSABLE){ 
protected void paintBackground(Graphics g) { 
      g.setBackgroundColor(Color.WHITE); 
      g.clear(); 
     } 



backg.add(edit); 
add(backg); 

使用g.setColor(Color.WHITE);としてeditfieldを追加白

VerticalFieldManager backg = new VerticalFieldManager(Field.USE_ALL_WIDTH | Field.USE_ALL_HEIGHT){ 
public void paint(Graphics graphics) { 
graphics.setBackgroundColor(Color.BLACK); 
graphics.clear(); 
super.paint(graphics); 
    } 
}; 

として黒とeditfieldとして、あなたの背景を設定します。

+0

本当に助かりました!どうもありがとう! – Roshnal

+0

答えを受け入れます.... – Signare

+0

g.setColor(Color.WHITE);フォントの色を白に変更します。 – Signare

2

Signareのバージョンは古いバージョンで動作しますが、OS 4.6では別のオプションがあります。 net.rim.device.api.ui.decorパッケージのクラスをチェックしてください。私は私のプログラムの一つで画面の背景を変更するために、これを使用してい

:あなたのフィールドの

public class MyScreen extends MainScreen { 

    MyScreen() { 

     Background screenColor = BackgroundFactory.createSolidBackground(Color.Black); 
     Manager backg= getMainManager(); 
     backg.setBackground(screenColor); 

     EditField edit = new EditField("", "", 100, Field.FOCUSABLE){ 
      protected void paint(Graphics g) { 
       g.setColor(Color.WHITE); 
       super.paint(g); 
      } 
     }; 
     Background fieldColor = BackgroundFactory.createSolidBackground(Color.BLACK); 
     edit.setBackground(fieldColor); 

     backg.add(edit); 
    } 
} 

すべてはあなたには、いくつかの素敵なカスタマイズを作ってみよう.setBackround().setBorder()方法を、持っています。バックグラウンドカラーを変更するだけで、すべてのコンポーネントをサブクラス化するよりも、この方法が簡単です。残念ながら、EditFieldまたはLabelFieldのテキストの色を変更する必要があります。

+0

このメソッドははるかに簡単できちんとしています。私はBlackBerry OS 6.0+のために開発しているので、問題ではないはずです。あなたの答えをありがとう! – Roshnal

+1

しかし、 'EditField'sのテキストの色を** White **に設定する方法はありますか? – Roshnal

+0

私は昨日探していましたが、フィールドをサブクラス化する以外の方法は見つけられませんでした。更新されたコードを含むように私の回答を編集しました。 –

関連する問題