[英]libGDX: How can I detect Scrollpane is scrolled at max 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;
}
就像在另一个问题中提到的那样,您可以使用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.