Как поставить 4 кнопки в строке использовать lwuit? На таком же расстоянии

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

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

3 ответа

Решение

Есть много способов сделать все в 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);
}

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

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

Другие вопросы по тегам