2011-12-27 84 views
0

我的按鈕組是在推動和關閉新屏幕後向右移動的。黑莓現場管理器問題8900與9550

我在VerticalFieldManager中添加了一些按鈕。然後,我在horizo​​ntalFieldManager上添加了verticalFieldManager以將按鈕居中。

問題是在BB 8900(曲線)是一切都很好。在9550(觸摸屏)上,它僅在Iam第一次打開屏幕時起作用。但是如果我在此屏幕上打開另一個屏幕並關閉打開的屏幕,則按鈕正在向右移動。但只有在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設備的常規的「返回鍵」,屏幕無overwritting它。

+0

將hfm中的按鈕添加到HFM中。 – BBdev 2011-12-28 03:29:34

+0

更新了我的答案 – 2011-12-30 08:36:00

回答

1

這很奇怪,但並不讓我感到驚訝。

更新:在審查了一些我的代碼來居中的事情後,我可以說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); 

你可以用算術或運營商與其他風格的標誌相結合的標誌。

在你的情況下,你必須做兩次:使用按鈕和vfm,然後使用vfm和hfm。

+0

真棒!完美的作品! – Martin 2011-12-30 13:28:03

+0

你有一個gridManager的例子嗎?我跟隨經理 GridFieldManager headGridMng = new GridFieldManager(1,4,GridFieldManager.USE_ALL_HEIGHT | Manager.USE_ALL_WIDTH | GridFieldManager.FIXED_SIZE); 與「headGridMng.setColumnProperty(XX,GridFieldManager.FIXED_SIZE,XXX);」 (新的LabelField(「」,DrawStyle.LEFT | Field.FIELD_LEFT)); – Martin 2011-12-30 17:22:26