gpt4 book ai didi

layout - libgdx 表仅在右下区域布置组件

转载 作者:行者123 更新时间:2023-12-02 08:42:42 26 4
gpt4 key购买 nike

我正在使用表格向舞台添加一些标签。由于某种原因,它将它添加到右下角而不是左上角。关于如何正确布局组件有什么想法吗?

int dialogWidth = 450;
int dialogHeight = 650;

Label label1 = new Label("MUSIC:", skin);
Label label2 = new Label("SOUND EFFECTS:", skin);
Label label3 = new Label("JUMP SPEED:", skin);
TextButton btn1 = new TextButton("whatever", skin);

final Dialog dialog = new Dialog("Properties", skin);

dialog.setSize(dialogWidth, dialogHeight);
dialog.setX(Helper.RESOLUTION_X_CENTER-dialogWidth/2);
dialog.setY(Helper.RESOLUTION_Y_CENTER-dialogHeight/2);

Table t = new Table();

t.setBounds(0, 0, dialogWidth, dialogHeight);

t.add(label1);
t.row();
t.add(label2);
t.add(btn1);
t.row();
t.add(label3);
dialog.add(t);
stage.addActor(dialog);

enter image description here

最佳答案

修复 1:

解决方案:删除以下行

t.setBounds(0, 0, dialogWidth, dialogHeight);

原因:不要自己使用 setBounds。让布局管理器来处理它。

<小时/>

修复 2:

解决方案:替换以下行

dialog.add(t);

dialog.getContentTable().add(t).expand().left().top();

原因:对话框本身就是一个表格,其中包含 3 个组件,即标题、内容表、按钮表。
您的代码将新表添加到 ButtonTable 行中(最后一行,因此位于底部),位于 ButtonTable 之后(因此位于右侧)。
更新后的代码将其添加到内容表中应有的位置。
引用https://github.com/EsotericSoftware/tablelayout了解背后的原因

expand().left().top();
<小时/>

最后,要调试任何与表相关的问题,请考虑使用调试行(在同一链接中进行说明)

希望这会有所帮助。

关于layout - libgdx 表仅在右下区域布置组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20714355/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com