簡體   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