Scene2d:如何在屏幕底部放置一个小部件,在顶部放置另一个小部件?

时间:2015-11-07 21:21:05

标签: java user-interface layout libgdx scene2d

我希望ScrollPane有两个Labels高于Button 始终保持在屏幕底部。如果这些标签内有太多文本,则可以正常滚动。但是如果只有几行,那么按钮就会保持在ScrollPane的正下方,因此可能会发生按钮位于屏幕中间的情况。

这是我的代码:

    Table container = new Table();
    container.setFillParent(true);
    container.top();

    Table table = new Table();

    ScrollPane scrollPane = new ScrollPane(table);
    scrollPane.setOverscroll(false, false);

    Label label1 = new Label(text1, labelStyle);

    Label label2 = new Label(text2, labelStyle);
    label2.setWrap(true);

    Button button = new Button(buttonStyle);

    table.add(label1).pad(paddingText);
    table.row();
    table.add(label2).pad(0, paddingText, 0, paddingText).width(stage.getViewport().getWorldWidth() - 2 * paddingText);

    container.add(scrollPane);
    container.row();
    container.add(button).pad(paddingButton).bottom();

    stage.addActor(container);

它应该是这样的:

Image

1 个答案:

答案 0 :(得分:0)

看看Cell#fill和Cell#expand方法:

table.add(...).fillY().expandY();

这将扩展Y轴上的单元格并填充它。