0
我想創建一個工具欄。如果我點擊一個圖標,應打開一個列表。我使用堆棧添加容器(圖標列表),並添加一個表。 (所以所有得到重新調整,並沒有工作需要做那裏)libGDX:創建一個工具欄
但我不能通過container.setX(浮動)設置X軸。但是列表必須在點擊圖標下打開。
有沒有更好的方法或方法來設置X沒有聲明?
private void rebuildStage() {
VerticalGroup toolBar = buildToolBar();
VerticalGroup vGroup = new VerticalGroup();
vGroup.fill().setFillParent(true);
vGroup.addActor(toolBar);
clear();
addActor(vGroup);
}
private VerticalGroup buildToolBar() {
ImageButton btnFile = new ImageButton(Assets.instance.btn_skin, "file");
ImageButton btnArrangement = new ImageButton(Assets.instance.btn_skin, "arrangement");
ImageButton btnCollision = new ImageButton(Assets.instance.btn_skin, "collision");
ButtonGroup<ImageButton> buttonGroup = new ButtonGroup<ImageButton>(btnFile, btnArrangement, btnCollision);
buttonGroup.setMinCheckCount(0);
Container<Table> tableFile = new Container<Table>(buildTableFile());
tableFile.top().left();
Container<Table> tableArrangement = new Container<Table>(buildTableArrangement());
tableArrangement.top();
Container<Table> tableCollision = new Container<Table>(buildTableCollision());
tableArrangement.top();
Stack stack = new Stack();
stack.add(tableFile);
stack.add(tableArrangement);
stack.add(tableCollision);
Table layer = new Table(Assets.instance.bg_skin);
layer.setBackground("bg_table");
layer.left();
layer.add(btnFile).padLeft(10);
layer.add(btnArrangement).padLeft(10);
layer.add(btnCollision).padLeft(10);
VerticalGroup vGroup = new VerticalGroup();
vGroup.fill();
vGroup.addActor(layer);
vGroup.addActor(stack);
return vGroup;
}
private Table buildTableFile() {
ImageButton button1 = new ImageButton(Assets.instance.btn_skin, "load");
ImageButton button2 = new ImageButton(Assets.instance.btn_skin, "save");
ImageButton button3 = new ImageButton(Assets.instance.btn_skin, "new");
Table layer = new Table(Assets.instance.bg_skin);
layer.setBackground("bg_table");
layer.add(button1).pad(10, 10, 0, 10).row();
layer.add(button2).pad(10, 10, 0, 10).row();
layer.add(button3).pad(10, 10, 10, 10).row();
return layer;
}
感謝您的4 awser。我發現了另一種方式:我只需要設置:tableList.left.padLeft(offset)。容器不會影響桌子並剛剛移動到右側。 –