移动表(拥有滚动窗格)中的小部件后,Libgdx Scrollpane滚动不足

时间:2018-06-26 12:48:20

标签: java libgdx scrollpane

我有一个问题。 将表中的小部件(拥有滚动窗格)移动之后,Libgdx Scrollpane滚动不足。

这是我代码中的示例。

Table scrollPaneTable = new Table();
Scrollpane itemsScrollPane = new ScrollPane(scrollPaneTable);
...
mainTable.add(itemsScrollPane).width(WIDTH).height(HEIGHT);
...
//adding items in the scrollPaneTable
// everything is work perfect at this moment.
....
for (final Actor actor : scrollPaneTable.getChildren()) {
...
actor.moveBy(MAIN_QUEST_ITEM_WIDTH * chapterData.quests.size * direction, 0);
...
}
...
//after I move actor in the table, scrollpane scrolls like before, I can't reach the last items.

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

如果有人遇到这个问题,我想说的是,很早以前我已经解决了这个问题:D我了解了滚动窗格代码的工作原理,然后了解到我需要更改maxX值,但这是私有的。因此,我将Scrollpane类的完整代码复制到了我的项目中,创建了MyScrollPane.java。

然后我将其添加到方法中,以便从类外部更改maxX和maxY。

    public void maxXBy(float x){
        this.maxX += x;
    }

    public void maxYBy(float y){
        this.maxY += y;
    }

然后,在我的主代码中,我使用这些值并获得了预期的结果。

谢谢。