#blackberry
#blackberry
Вопрос:
У меня есть две кнопки в горизонтальном полевом менеджере. одну я хочу поместить в левую часть экрана, а другую — в правую. Как я могу правильно их разместить, не реализуя вспомогательный макет, чтобы он мог работать для всех устройств?
Комментарии:
1. Что произойдет, если вы поместите две кнопки в HorizontalFieldManager?
Ответ №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, вам необходимо задать выравнивание по вертикали в диспетчере и выравнивание по горизонтали в поле.
Комментарии:
1. Я пишу код следующим образом: HorizontalFieldManager hfm1 = new HorizontalFieldManager(); m_btnDisagree = new ButtonField(«Я не согласен», FIELD_LEFT); hfm1.add(m_btnDisagree); 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.добавить(hfm1);
2. @ArindamMukherjee итак, это работает, я не думаю, что это сработает.
3. используя ваш код, он как-то работает. Но я хочу немного левого и правого полей для двух кнопок.