使用ScrollPane中的表格和图像进行布局

时间:2014-01-08 22:19:58

标签: java libgdx

我想要一个简单的布局,在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);

我完全迷失了:(

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

此:

stage = new Stage(Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), false);

将其更改为true:

stage = new Stage(Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), true);

Scene2d Viewport

如果错误:

  

舞台将被拉伸到视口,可能会拉伸舞台的纵横比。

答案 1 :(得分:0)

感谢NateS(来自Badlogic Games论坛),解决方案是为图像设置一个minWidth:

table.add(image).minSize(Value.prefWidth, Value.prefHeight);