【问题标题】:Libgdx how to set space between the check box and the text labelLibgdx如何设置复选框和文本标签之间的空间
【发布时间】:2015-03-20 22:49:29
【问题描述】:

我为 libgdx Scene2d 创建了一个复选框皮肤,但问题是我的复选框和文本标签之间没有空格,这是我的复选框代码:

final CheckBox vSyncCheckBox = new CheckBox("vSync", skin);
        vSyncCheckBox.setChecked(vSync());
        vSyncCheckBox.getCells().get(0).size(30, 30);

在表格布局中,我尝试使用spaceRight(10);,但没有任何反应:

table.add(vSyncCheckBox).top().expandY().spaceRight(10); 

这里是复选框目前的样子:

就像您可以看到复选框和 Vsync 堆叠在一起一样,对于如何在它们之间提供一些空间有什么帮助吗?

【问题讨论】:

  • 因为春天的第一天我很懒惰:vSync的'v'之前的空格?
  • 这可以解决问题,但我想问是否还有其他为什么要这样做,一种在复选框和标签之间设置填充的方法

标签: java libgdx scene2d


【解决方案1】:

这是您在复选框和文本标签之间设置空间的方式。

final CheckBox vSyncCheckBox = new CheckBox("vSync", skin);
vSyncCheckBox.getLabelCell().padLeft(10);

【讨论】:

    【解决方案2】:

    这就是我解决类似问题的方法:

    table.add(yourButton).padLeft(Distance).OTHER_STUFF;
    

    下次请参考the Wiki table page解决表格布局或相关问题

    如果您在理解概念上有任何问题,请打开调试

    table.setDebug(true);
    

    如果您的复选框和标签是一个项目,您只需在对象声明中放置一些空格“vSync”而不是“vSync”。

    【讨论】:

    • 他没有表格问题,他想知道如何在复选框及其内部标签之间添加空格。在“vSync”的开头添加空格是一种技巧。
    【解决方案3】:

    能否请您发布该表的整个代码?由于对表格进行了其他设置,它可能无法正常工作。

    另外,通过使用激活调试模式会很有帮助

    table.setDebug(true); // turn on all debug lines (table, cell, and widget)
    

    来源:https://github.com/libgdx/libgdx/wiki/Table#debugging

    【讨论】: