我有一个问题。 将表中的小部件(拥有滚动窗格)移动之后,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.
感谢您的帮助。
答案 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;
}
然后,在我的主代码中,我使用这些值并获得了预期的结果。
谢谢。