在BlackBerry中的VerticalFieldManager中绘制背景时,UI是不固定的?

时间:2012-09-15 06:28:45

标签: layout blackberry

我准备了一个允许用户创建帐户的屏幕。如第一张图片中所示,我使用了一张图像(bg_BB.png图像)作为MainScreen背景,之后我拍摄了另一张VFM并在该垂直场管理器上绘制了白色背景(white_bg2.png)并添加了全部我在VFM上的领域。

但是当键盘弹出时会出现问题。如第二张图所示,所有字段都会在背景上浮动。

以下是我正在使用的代码:

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

enter image description here enter image description here

1 个答案:

答案 0 :(得分: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
       )
);     

确保您的边框图像具有白色背景。
我使用这种方法,效果很好。