将复选框对齐Blackberry右侧的复选框

时间:2011-09-19 11:19:22

标签: blackberry checkbox horizontalfieldmanager

我需要将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 个答案:

答案 0 :(得分: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);

答案 1 :(得分:3)

使用此样式位将复选框对齐到右边。

private static final long checkBoxStyle = 134217728;

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