LibGdx:表格未正确显示

时间:2014-02-03 17:46:02

标签: java android layout libgdx

我在libgdx中有一个表,它应该有6个按钮,分为2行。这是我的代码:

        elementsTable.clear();
        String[] colors = new String [6];
        colors[0] = "red";
        colors[1] = "orange";
        colors[2] = "yellow";
        colors[3] = "purple";
        colors[4] = "blue";
        colors[5] = "green";

        String category = currentCategory.name();
        category = category.substring(0, category.length()-1).toLowerCase(); //removes the last character because otherwise there would be an extra 's'

        int count = 0;
        for(String color : colors) {
            ButtonStyle buttonStyle = new ButtonStyle();
            buttonStyle.up = cellsSkin.getDrawable(category + "_" + color);
            Button button = new Button(buttonStyle);
            button.addListener(toolBoxListener);
            button.setName(category + "_" + color);
            button.setSize(toolBoxButtonSize, toolBoxButtonSize);
            elementsTable.add(button).pad(toolBoxButtonPadding);

            count ++;
            if (count == Math.ceil((colors.length/2d))) elementsTable.row();
        }

这就是填充物。我的按钮有6种不同的颜色,所以我使用颜色名称循环数组以访问皮肤以获得按钮的可绘制。这部分似乎有效,因为当我调试并查看表格时,它有6个按钮,大小合适。

然后我设置我的桌子的位置和大小并将其添加到舞台上。:

    elementsTable.setSize(toolBoxWidth, 500/(float)(3*toolBoxButtonSize+6*toolBoxButtonPadding)*elementsTable.getHeight());
    elementsTable.setPosition(195, 30);
    stage.addActor(elementsTable);

舞台上有一套正交相机,可以很好地缩小尺寸。

然而,我得到的是: The layout is screwed up.

另一个奇怪的问题是,当我在调试模式下查看表的高度和宽度时,它表示0甚至还有一些元素,它们都具有corrct大小。

任何人都可以帮助我吗?

如果您对此问题有任何疑问,请询问!我试着详细说明,但我很乐意回答你的问题。

1 个答案:

答案 0 :(得分:1)

这似乎只是位置。 30对于Y来说太低了:

elementsTable.setPosition(195, 30);

尝试150例如:

elementsTable.setPosition(195, 150);

记住Libgdx(和OpenGL)使用的坐标系是Y在上升。