【问题标题】:How to put two buttons in Horizontal field manager in blackberry for any device?如何为任何设备在黑莓的水平字段管理器中放置两个按钮?
【发布时间】:2012-01-10 12:23:16
【问题描述】:

我在水平字段管理器中有两个按钮。一个我想放在屏幕左侧,另一个放在右侧。如何在不实现子布局的情况下正确放置它们,使其适用于所有设备?

【问题讨论】:

  • 如果在 Horizo​​ntalFieldManager 中放置两个按钮会发生什么?

标签: blackberry


【解决方案1】:

我认为创建自定义管理器是布局控件的最佳方式。 但我认为我们可以做到

VerticalFieldManager vfm = new VerticalFieldManager(USE_ALL_WIDTH);
        vfm.add(new ButtonField("button2",Field.FIELD_RIGHT));

        HorizontalFieldManager hfm = new HorizontalFieldManager();
        hfm.add(new ButtonField("button1"));
        hfm.add(vfm);
        add(hfm);

编辑:

如果我们使用 HFM,则 HFM 负责水平对齐。

所以

 HorizontalFieldManager hfm = new HorizontalFieldManager(FIELD_RIGHT);
        hfm.add(new ButtonField("button1"));

上面的代码将button1放在右边。 但是

HorizontalFieldManager hfm = new HorizontalFieldManager();
        hfm.add(new ButtonField("button1",FIELD_RIGHT));

上面的代码不会右对齐按钮。 所以当你使用 HFM 您需要在管理器中对字段进行水平对齐,在字段中进行垂直对齐。

当您使用 VFM 时 您需要在管理器中进行垂直对齐,在字段中进行水平对齐。

【讨论】:

  • 我正在编写这样的代码:Horizo​​ntalFieldManager hfm1 = new Horizo​​ntalFieldManager(); m_btnDisagree = new ButtonField("我不同意", FIELD_LEFT); hfm1.add(m_btn不同意); m_btnAgree = new ButtonField("我同意", FIELD_RIGHT); m_btnAgree.setMargin(0, 30, 0, 0); hfm1.add(m_btnAgree); hfm1.setMargin(30, 0, 0, 30); m_vfmScreen.add(hfm1);
  • @ArindamMukherjee 所以它有效吗?我认为它不会有效。
  • 使用您的代码,它以某种方式工作。但我想要两个按钮的左边距和右边距。