2011-12-27 7 views
0

내 단추 세트는 새 화면을 밀고 닫은 후에 오른쪽으로 이동합니다.Blackberry fieldManager 문제 8900 대 9550

일부 Button을 VerticalFieldManager에 추가했습니다. 그런 다음 horizontalFieldManager에 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); 

를 사용하고 overwritting 않고 난 BB 장치의 일반적인 "뒤로 키"를 사용하여 화면을 닫는다.

+0

hfm의 버튼을 HFM에 추가하십시오. – BBdev

+0

업데이트 내 대답 –

답변

1

매우 이상하지만 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을 두 번 사용해야합니다.

+0

끝내! 완벽하게 작동합니다! – Martin

+0

gridManager에 대한 예가 있습니까? 내가 따르는 관리자 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 (새 LabelField ("", DrawStyle.LEFT | Field.FIELD_LEFT)); – Martin