我想要一个简单的布局,在ScrollPane顶部有一个Image(里面有一个表)。 ScrollPane工作得很好,但问题是图像的比例是错误的(我的图像里面有一个圆圈,它变成椭圆形)。
以下是代码:
batch = new SpriteBatch();
stage = new Stage(Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), false);
Skin skin = new Skin(Gdx.files.internal("ui/uiskin.json"));
Texture textureButton = new Texture(Gdx.files.internal("image.png"));
Image imageButton1 = new Image(textureButton);
Image imageButton2 = new Image(textureButton);
Table t = new Table();
for (int i = 0; i < 30; i++) {
t.row();
t.add(new Label("TEST TEST TEST TEST TEST TEST TEST" + i, skin));
}
ScrollPane scrollPane = new ScrollPane(t);
Table container = new Table();
container.setFillParent(true);
container.row().expand();
container.add(imageButton1);
container.row();
container.add(scrollPane);
container.layout();
container.debug();
stage.addActor(container);
我完全迷失了:(
提前感谢您的帮助!
答案 0 :(得分:1)
此:
stage = new Stage(Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), false);
将其更改为true:
stage = new Stage(Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), true);
如果错误:
舞台将被拉伸到视口,可能会拉伸舞台的纵横比。
答案 1 :(得分:0)
感谢NateS(来自Badlogic Games论坛),解决方案是为图像设置一个minWidth:
table.add(image).minSize(Value.prefWidth, Value.prefHeight);