0

ユーザーがアカウントを作成できるようにする画面を用意しました。最初の画像に示すように、背景として画像(bg_BB.png画像)を使用しましたMainScreen。その後、別のVFMを取得し、その垂直フィールドマネージャーでその白い背景(white_bg2.png)をペイントし、そのVFMにすべてのフィールドを追加しました.

しかし、キーボードがポップアップすると問題が発生します。2 番目の写真に示すように、すべてのフィールドが背景の上に浮かんでいるように見えます。

以下は私が使用しているコードです:

Bitmap backGroundImage = Bitmap.getBitmapResource("bg_BB.png");
((VerticalFieldManager) getMainManager()).setBackground(BackgroundFactory.createBitmapBackground(backGroundImage));

final Bitmap tabBackGroundImage = Bitmap.getBitmapResource("white_bg2.png");

_mainVfm = new VerticalFieldManager(Field.USE_ALL_WIDTH) {

    protected void paint(Graphics graphics) {
        int y = CreateUserAccountScreen.this.getMainManager().getVerticalScroll();
        graphics.drawBitmap(0, y, 
                            tabBackGroundImage.getWidth(), 
                            tabBackGroundImage.getHeight(), 
                            tabBackGroundImage, 
                            0, 0 );

        super.paint( graphics );
    }
};

ここに画像の説明を入力 ここに画像の説明を入力

4

1 に答える 1

1

コードを次のように置き換えます。

Bitmap tabBackGroundImage = Bitmap.getBitmapResource("white_bg2.png");
VerticalFieldManager _mainVfm = new VerticalFieldManager(Manager.VERTICAL_SCROLL | 
          Manager.VERTICAL_SCROLLBAR|
          Manager.USE_ALL_WIDTH);
_mainVfm.setBorder( BorderFactory.createBitmapBorder(
               new XYEdges(12,12,12,12), tabBackGroundImage
       )
);     

ボーダー画像の背景が白であることを確認してください。
私はこの方法を使用していますが、完全に機能します。

于 2012-09-15T18:29:52.383 に答える