繁体   English   中英

libGDX:如何检测Scrollpane以最大Y滚动?

[英]libGDX: How can I detect Scrollpane is scrolled at max Y?

当播放器最后滚动时,我需要在列表中添加新项目。 因此,如何检测到达最底端或最大YScrollpane

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM