Установите флажок справа на Blackberry - PullRequest
0 голосов
/ 19 сентября 2011

Мне нужно выровнять CheckboxField справа от фиксированного текста (на Blackberry), как в диалоговом окне «Управление соединениями». Код:

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).

Ответы [ 2 ]

3 голосов
/ 02 июля 2012

Используйте этот бит стиля для выравнивания флажка вправо.

private static final long checkBoxStyle = 134217728;

add(new CheckboxField("test " , false, checkBoxStyle | USE_ALL_WIDTH));
3 голосов
/ 19 сентября 2011

Используйте следующий код, это решит вашу проблему.

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);
...