我想知道,无论如何都要创建一个ScrollPane和Lists,它们在LibGDX中水平包装文本。我希望滚动窗格能够垂直滚动,但要包装文本而不是水平滚动。
我知道我可以使用
禁用滚动的X方向scrollPane.setScrollingDisabled(false, true);
但是无论如何要进行文本换行以便没有水平滚动而只会转到新行?
答案 0 :(得分:2)
你可以这样做:
public class ScrollPaneTest extends ApplicationAdapter {
private Stage stage;
private Table container;
@Override
public void create () {
stage = new Stage();
Skin skin = new Skin(Gdx.files.internal("skin/glassy-ui.json"));
Gdx.input.setInputProcessor(stage);
container = new Table();
stage.addActor(container);
container.setFillParent(true);
Table table = new Table();
final ScrollPane scroll = new ScrollPane(table, skin);
scroll.setScrollingDisabled(true,false);
table.pad(10).defaults().expandX().space(4);
for (int i = 0; i < 100; i++) {
table.row();
Label label=new Label(i + ". Publish your games on Windows, Mac, Linux, Android, iOS, BlackBerry and HTML5, all with the same code base.", skin);
label.setAlignment(Align.center);
label.setWrap(true);
table.add(label).width(Gdx.graphics.getWidth());
}
container.add(scroll).expand().fill();
}
@Override
public void render () {
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
stage.act(Gdx.graphics.getDeltaTime());
stage.draw();
}
@Override
public void resize (int width, int height) {
stage.getViewport().update(width, height, true);
}
@Override
public void dispose () {
stage.dispose();
}
}
输出是:
答案 1 :(得分:0)
您可以使用标签包装文本。然后将这些标签添加到滚动窗格中。