Layout 黑莓fieldManager发行8900对9550

Layout 黑莓fieldManager发行8900对9550,layout,blackberry,blackberry-storm,curve,fieldmanager,Layout,Blackberry,Blackberry Storm,Curve,Fieldmanager,我的按钮集在按下并关闭新屏幕后向右移动 我在VerticalFieldManager中添加了一些按钮。然后,我在水平字段管理器上添加了垂直字段管理器,以使按钮居中 问题出在BB 8900(曲线)上,一切正常。在9550(触摸屏)上,它仅在我第一次打开屏幕时工作。但是如果我根据这个屏幕打开另一个屏幕并关闭打开的屏幕,按钮就会向右移动。但只在9550上???在曲线上,我可以打开一个新屏幕,然后关闭新屏幕,看起来应该是这样的。有人知道这个问题吗 VerticalFieldManager vertica

我的按钮集在按下并关闭新屏幕后向右移动

我在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设备的常规“后退键”而不覆盖它。

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

更新:在回顾了我的一些居中代码之后,我可以说HorizontalFieldManager,因为我猜是滚动,所以居中字段有问题。所以当我需要水平居中时,我使用垂直场管理器,当我必须垂直居中时,我使用水平场管理器

居中字段的基本模式如下:

    VerticalFieldManager vfm = new VerticalFieldManager(Manager.USE_ALL_WIDTH);
    Field toCenter = new <Field>(DrawStyle.HCENTER | Field.FIELD_HCENTER );
    vfm.add(toCenter);
VerticalFieldManager vfm=新的VerticalFieldManager(Manager.USE\u ALL\u WIDTH);
字段到中心=新建(DrawStyle.HCENTER | Field.fieldhcenter);
vfm.add(toCenter);
在纵向上,它将是:

    HorizontalFieldManager hfm = new HorizontalFieldManager(Manager.USE_ALL_HEIGHT);
    Field toCenter = new <Field>(DrawStyle.VCENTER | Field.FIELD_VCENTER );
    hfm.add(toCenter);
HorizontalFieldManager hfm=新的HorizontalFieldManager(Manager.使用所有高度);
字段到中心=新建(DrawStyle.VCENTER | Field.fieldvCenter);
hfm.add(toCenter);
您可以使用算术或运算符将这些标志与其他样式标志组合在一起


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

在hfm中使用按钮并将其添加到hfm。您有gridManager的示例吗?I following Manager GridFieldManager headGridMng=新的GridFieldManager(1,4,GridFieldManager.USE_ALL_HEIGHT | Manager.USE_ALL_WIDTH | GridFieldManager.FIXED_SIZE);与“headGridMng.setColumnProperty(XX,GridFieldManager.FIXED_SIZE,XXX);”和headGridMng.add(new LabelField(“,DrawStyle.LEFT | Field.Field_LEFT))结合使用;