2011-09-19 3 views
0

"연결 관리"대화 상자와 같이 고정 텍스트 (Blackberry)의 오른쪽에 CheckboxField를 정렬해야합니다. 코드는 다음과 같습니다검은 딸기 오른쪽에있는 체크 박스를 정렬하십시오.

final HorizontalFieldManager hfm = new HorizontalFieldManager(USE_ALL_WIDTH); 
hfm.add(new LabelField("Test me please", LabelField.ELLIPSIS | FIELD_LEFT | FIELD_VCENTER | USE_ALL_WIDTH)); 
cbx = new CheckboxField(null, false, FIELD_RIGHT | CheckboxField.NO_USE_ALL_WIDTH); 
hfm.add(cbx); 

내가 "USE_ALL_WIDTH", "NO_USE_ALL_WIDTH"및 이와 유사한 플래그의 다양한 조합을 시도,하지만 난 아직도 내가 원하는 것을 얻을 수 없습니다 왼쪽에있는 텍스트 모든 방법을, 그리고 확인란을 오른쪽 끝까지. 레이블이 USE_ALL_WIDTH로 설정된 경우 확인란이 사라지고 설정되지 않은 경우 텍스트 옆에 확인란이 표시됩니다 (hfm 오른쪽에는 표시되지 않음).

답변

3

다음 코드를 사용하면 문제가 해결됩니다.

HorizontalFieldManager hfm = new HorizontalFieldManager(Field.USE_ALL_HEIGHT); 
LabelField lblShow = new LabelField("Test me please ", Field.FIELD_LEFT); 
CheckboxField cbShow = new CheckboxField("", false, CheckboxField.FIELD_RIGHT); 
VerticalFieldManager vfmLeft = new VerticalFieldManager(); 
VerticalFieldManager vfmRight = new VerticalFieldManager(Field.USE_ALL_WIDTH); 
vfmLeft.add(lblShow); 
vfmRight.add(cbShow);  
hfm.add(vfmLeft); 
hfm.add(vfmRight); 
add(hfm); 
+0

감사합니다. 나는 비슷한 것을 발견하고 작동합니다. –

+0

더 나은 해결책을 찾았습니다. 비트 맵에 whold 확인란을 그린 다음 비트 맵을 두 개로 자른 다음 왼쪽 및 오른쪽 부분을 뒤집은 캔버스에 렌더링합니다. –

+0

'vfmLeft'는 여기서 중복됩니다. 레이블을 수평 필드 관리자에게 직접 추가하는 것, 즉'hfm.add (lblShow)'를 없앨 수 있습니다. – mrvincenzo

3

사용 체크 박스를 오른쪽으로 정렬하려면이 스타일 비트를 사용하십시오.

private static final long checkBoxStyle = 134217728; 

add(new CheckboxField("test " , false, checkBoxStyle | USE_ALL_WIDTH)); 
+0

저에게 맞습니다 –

+0

그건 그렇고, 그 값은 단지 0x8000000입니다 (즉 가장 왼쪽 비트를 설정합니다) –

+0

이것은 BlackBerry API 7.0.0에서 사용할 수있는'CheckboxField.NO_USE_ALL_WIDTH' 값입니다. 이전 장치에서는 작동하지 않습니다. –

관련 문제