質問

Horizo ntalFieldManagerの背景を設定したいです。 検索してきたサンプルコードは、メイン画面の背景のグラデーションを使用して背景を設定しています。

 //create gradient linear for background
 this.getMainManager().setBackground(BackgroundFactory.createLinearGradientBackground(0x0099CCFF,
                            0x0099CCFF,0x00336699,0x00336699)
                        );
.

このメソッドを持つので、同じパターンを使用してhorizarfieldManagerにバックグラウンドを設定しようとします。しかしそれはうまくいきません。これがコードです

            HorizontalFieldManager hManager = new HorizontalFieldManager();

    Bitmap bitmapImage = null;

    bitmapImage = Bitmap.getBitmapResource("img/home.png");
    tabHome = new BitmapField(bitmapImage, BitmapField.FOCUSABLE
            | BitmapField.HIGHLIGHT_FOCUS);

    bitmapImage = Bitmap.getBitmapResource("img/in.png");
    tabCheckInOut = new BitmapField(bitmapImage, BitmapField.FOCUSABLE
            | BitmapField.HIGHLIGHT_FOCUS);

    bitmapImage = Bitmap.getBitmapResource("img/barcode.png");
    tabBarcode = new BitmapField(bitmapImage, BitmapField.FOCUSABLE
            | BitmapField.HIGHLIGHT_FOCUS);

    bitmapImage = Bitmap.getBitmapResource("img/options.png");
    tabOptions = new BitmapField(bitmapImage, BitmapField.FOCUSABLE
            | BitmapField.HIGHLIGHT_FOCUS);

    tabHome.setFocusListener(this);
    tabCheckInOut.setFocusListener(this);
    tabBarcode.setFocusListener(this);
    tabOptions.setFocusListener(this);

    Background topBack = BackgroundFactory.createSolidBackground(0x00606A85);
    hManager.setBackground(topBack);

    hManager.add(tabHome);
    hManager.add(tabCheckInOut);
    hManager.add(tabBarcode);
    hManager.add(tabOptions);

    add(hManager);
.

Horizo ntalFieldManagerを使用して4ビットマップフィールドを追加してから、BackgroundFactoryを使用してSolidBackgroundを作成し、マネージャに設定します。 しかし、私がそれを実行するとき、背景色は適用されません。勾配の例はうまく機能します。行方不明のものはありますか?私を助けてください。

ありがとう

役に立ちましたか?

解決

いくつかの深いWeb検索をした後。これが答えじゃないです

HorizontalFieldManager manager = new HorizontalFieldManager()
{
    public void paint(Graphics graphics)
    {
        graphics.setBackgroundColor(0x000000FF);//blue
        graphics.clear();
        super.paint(graphics);
    }
};
.

更新: Webカラーのみを使用する必要があります 0x00669950ffなど しかし0x00606a85はうまくいきません。 特定の色を希望する場合は、ビットマップを使用することをお勧めします。

更新: 別の解決策

 HorizontalFieldManager manager = new HorizontalFieldManager(Field.USE_ALL_WIDTH);
 manager.setBackground(BackgroundFactory.BackgroundFactory
            .createSolidBackground(0x00cccccc));
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top