0

按下并关闭新屏幕后,我的按钮组有点向右移动。

我在 VerticalFieldManager 中添加了一些按钮。然后我在 Horizo​​ntalFieldManager 上添加了 verticalFieldManager 以使按钮居中。

问题出在 BB 8900(曲线)上,一切都很好。在 9550(触摸屏)上,它仅在我第一次打开屏幕时才起作用。但是如果我基于这个屏幕打开另一个屏幕并关闭打开的屏幕,按钮就会向右移动。但仅在 9550 上???在曲线上,我可以打开一个新屏幕并关闭新屏幕,看起来应该如此。有人知道这个问题吗?

VerticalFieldManager verticalFieldMng = new VerticalFieldManager();      
            ButtonField btnSendAdrViaSMS = new ButtonField("test");
            verticalFieldMng2.add(btnSendAdrViaSMS);
            ButtonField btn2 = new ButtonField("test2");
            verticalFieldMng2.add(btn2);
            ButtonField btn3 = new ButtonField("test2");
            verticalFieldMng2.add(btn3);

            HorizontalFieldManager horizontalFieldManager = new HorizontalFieldManager(HorizontalFieldManager.FIELD_HCENTER);
            horizontalFieldManager.add(verticalFieldMng2);
            add(horizontalFieldManager);

为了打开我使用的新屏幕

    Screen_SendSMS sendSMS = new Screen_SendSMS("",link);
UiApplication.getUiApplication().pushModalScreen(sendSMS);

为了关闭屏幕,我使用 BB 设备的常规“返回键”而不覆盖它。

4

1 回答 1

1

这很奇怪,但在 BB 中并不让我感到惊讶。

更新:在查看了我的一些代码以使事物居中之后,我可以说 Horizo​​ntalFieldManager,因为我猜是滚动,使字段居中存在问题。因此,当我需要水平居中时,我使用 VerticalFieldManager,而当我必须垂直居中时,我使用 Horizo​​ntalFieldManager。

居中字段的基本模式是这样的:

    VerticalFieldManager vfm = new VerticalFieldManager(Manager.USE_ALL_WIDTH);
    Field toCenter = new <Field>(DrawStyle.HCENTER | Field.FIELD_HCENTER );
    vfm.add(toCenter);

在垂直方向上,它将是:

    HorizontalFieldManager hfm = new HorizontalFieldManager(Manager.USE_ALL_HEIGHT);
    Field toCenter = new <Field>(DrawStyle.VCENTER | Field.FIELD_VCENTER );
    hfm.add(toCenter);

您可以使用算术 OR 运算符将标志与其他样式标志组合。

在您的情况下,您必须这样做两次:首先使用按钮和 vfm,然后使用 vfm 和 hfm。

于 2011-12-28T08:45:08.163 回答