0

「接続の管理」ダイアログのように、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 の右側ではありません)。

4

2 に答える 2

3

このスタイル ビットを使用して、チェックボックスを右揃えにします。

private static final long checkBoxStyle = 134217728;

add(new CheckboxField("test " , false, checkBoxStyle | USE_ALL_WIDTH));
于 2012-07-02T07:00:59.167 に答える
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);
于 2011-09-19T11:44:17.523 に答える