Nativescript + Angular ScrollView прокрутить до конечного слушателя - PullRequest
0 голосов
/ 01 февраля 2019

Есть ли обратный вызов, который можно использовать для идентификации, когда ScrollView прокручивается до самого дна?В документации по Nativescript упоминается только событие scroll, но оно предоставляет информацию только о X или Y шнурах текущей прокрутки.Не уверен, что это событие полезно для меня, так как мой ScrollView рост является динамическим.

1 Ответ

0 голосов
/ 01 февраля 2019

Вы все еще можете прослушать событие scroll и посмотреть, равен ли текущий verticalOffset location последнего компонента в вашем ScrollView.

Что-то вроде,

 // Attached to layoutChange event of your container element inside scroll view
 onLayoutChanged(event: EventData) {
    const containerLyt = <StackLayout>event.object,
        length = containerLyt.getChildrenCount(),
        lastItem = containerLyt.getChildAt(length - 1);

    this.lastItemY = lastItem.getLocationRelativeTo(containerLyt).y;
}

onScroll(event: EventData) {
    const scrollView = <ScrollView>event.object,
        verticalOffset = scrollView.getActualSize().height + scrollView.verticalOffset;

    if (verticalOffset >= this.lastItemY) {
        console.log("Reached end of scroll");
    }
}

Пример игровой площадки

...