首页 文章

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

提问于
浏览
0

我准备了一个屏幕,我允许用户创建一个帐户 . 如第一张图片中所示,我使用了一个图像(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 回答

  • 1

    replace your code with:

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

    确保您的边框图像具有白色背景 .
    我使用这种方法,它的工作完美 .

相关问题