Как поставить 4 кнопки в строке использования lwuit?На таком же расстоянии - PullRequest
1 голос
/ 18 ноября 2011

как поставить 4 кнопки в ряд, как на картинке:

enter image description here

Расстояние между элементами следует менять при разных разрешениях

Ответы [ 3 ]

1 голос
/ 20 ноября 2011

Существует множество способов сделать все в LWUIT.Из вашего изображения неясно, каковы ваши точные ограничения, я предполагаю, что вы хотите, чтобы крайняя левая кнопка была выровнена по левому краю, а крайняя правая - по правому краю.Вы, вероятно, также хотите, чтобы две другие кнопки были отцентрированы.

Я бы реализовал это, используя GridLayout с вложенными FlowLayout элементами.Как таковой:

Container c = new Container(new GridLayout(1, 4));
addButton(c, new Button("b1"), Component.LEFT);
addButton(c, new Button("b2"), Component.CENTER);
addButton(c, new Button("b3"), Component.CENTER);
addButton(c, new Button("b4"), Component.RIGHT);


private void addButton(Container c, Button b, int align) {
   Container flow = new Container(new FlowLayout(align));
   flow.addComponent(b);
   c.addComponent(flow);
}
0 голосов
/ 19 ноября 2011

Вы должны использовать BorderLayout и добавить контейнер (описанный в этом ответе внутри юга)

0 голосов
/ 18 ноября 2011

Играть с setMargin(Component.RIGHT,x) для первых трех кнопок. Установите значение x так, чтобы кнопки в строке были разделены на равные: you must take into account the preferredWidth of the Buttons for that. Для первой кнопки установите для ее поля left-left значение 0 (setMargin(Component.LEFT,0)), а для последней кнопки установите для ее поля right значение 0 (setMargin(Component.RIGHT,0)).

...