[英]libGDX: How can I detect Scrollpane is scrolled at max Y?
I need to add new items in the list when the player scroll at the end. 当播放器最后滚动时,我需要在列表中添加新项目。 So, how can I detect the
Scrollpane
reached to the end or maximum Y
? 因此,如何检测到达最底端或最大
Y
的Scrollpane
?
private Table list;
private ScrollPane scrollPane;
private void buildPlayersList() {
list = new Table();
scrollPane = new ScrollPane(list);
}
private boolean isTheEnd() {
// condition !!!
return scrollPane.getScrollY() >= scrollPane.getMaxY();
}
@Override
public void onTheEndRequest() {
int offset = list.getRows();
int limit = 10;
Actor player = this.getPlayer(offset, limit);
list.add(player).row();
}
private Actor getPlayer(int offset, int limit) {
// retrieve player from database
// ......
Player player = database.getPlayer();
Label label = new Label(player.getName(), style);
return label;
}
As mentioned in this other question , you can use a ChangeListener looking for a change to getScrollY to execute the comparison of ScrollY & MaxY. 就像在另一个问题中提到的那样,您可以使用ChangeListener查找对getScrollY的更改以执行ScrollY和MaxY的比较。
s1.vvalueProperty().addListener(new ChangeListener<Number>() {
public void changed(ObservableValue<? extends Number> ov,
Number old_val, Number new_val) {
// if ScrollY == maxY; then displayMoreItems
System.out.println(new_val.intValue());
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.