在按下和关闭一个新屏幕后,我的按钮组有点向右移动。
我在VerticalFieldManager中添加了一些按钮。然后,我在horizontalFieldManager上添加了verticalFieldManager以使按钮居中。
问题是在BB8900(曲线)上一切正常。在9550 (触摸屏)上,只有当我第一次打开屏幕时,它才能工作。但是如果我在这个屏幕的基础上打开另一个屏幕,然后关闭打开的屏幕,按钮就会向右移动。但只在9550上?在Curve上,我可以打开一个新的屏幕,然后关闭新的屏幕,看起来应该是这样。有人知道这个问题吗?
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设备的常规“后退键”,而不是覆盖它。
发布于 2011-12-28 16:45:08
这很奇怪,但在BB中我并不感到惊讶。
更新:在检查了我的一些居中代码后,我可以说,由于滚动,我猜HorizontalFieldManager在居中字段时遇到了问题。因此,当我需要水平居中时,我使用VerticalFieldManager,而当我必须垂直居中时,我使用HorizontalFieldManager。
字段居中的基本模式如下:
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。
https://stackoverflow.com/questions/8650451
复制相似问题