创建按钮或按钮组很容易,
Root root = iface.createRoot(AxisLayout.vertical(), ROOT, modeLayer).
setStyles(make(VALIGN.top, HALIGN.right)).
setBounds(0, 0, width, height).
add(backButton);
但是,我不知道如何在不同的组中创建两个按钮,即左上角的一个按钮和右上角的按钮...
我尝试创建了两个根,一个按钮将被禁用/不可点击。如果我创建一个根,它们将组合在一起:(
============ 感谢 samskivert 的详细答案,但我无法产生正确的结果。对于“原始”答案中的第一个建议,完整代码如下:
Font SMALL = PlayN.graphics().createFont("Helvetica", Font.Style.PLAIN, 24);
final Stylesheet ROOT = SimpleStyles.newSheetBuilder().
add(Element.class, make(FONT.is(SMALL))).
add(Button.class, make(BACKGROUND.is(Background.solid(100)))).create();
Group group = new Group(AxisLayout.vertical()).add(
new Group(AxisLayout.horizontal(), Style.HALIGN.left).add(
new Button("Upper left")),
AxisLayout.stretch(new Shim(1, 1)),
new Group(AxisLayout.horizontal(), Style.HALIGN.right).add(
new Button("Lower right")));
iface.createRoot(AxisLayout.vertical(), ROOT, modeLayer)
.setBounds(0, 0, 960, 640)
.add(group);
它产生这个屏幕(即,它都是居中的,而不是左上/下...)
第二个,完整代码如下: Font SMALL = PlayN.graphics().createFont("Helvetica", Font.Style.PLAIN, 24);
final Stylesheet ROOT = SimpleStyles.newSheetBuilder().
add(Element.class, make(FONT.is(SMALL))).
add(Button.class, make(BACKGROUND.is(Background.solid(100)))).create();
Group group = new Group(new BorderLayout()).add(
new Group(AxisLayout.horizontal(), Style.HALIGN.left).
setConstraint(BorderLayout.NORTH).add(
new Button("Upper left")),
new Group(AxisLayout.vertical(), Style.HALIGN.right).
setConstraint(BorderLayout.SOUTH).add(
new Button("Lower right")));
iface.createRoot(AxisLayout.vertical(), ROOT, modeLayer)
.setBounds(0, 0, 960, 640)
.add(group);
它产生这个屏幕截图(即,它居中并重叠......)
再次感谢。