ScrollView に onScrollListener を使用できますか? 質問する

ScrollView に onScrollListener を使用できますか? 質問する

レイアウトで を使用しておりHorizontalScrollView、ユーザーがスクロールの開始点と終了点に到達したことを確認する必要があります。

ListView試してみたところonScrollListener、スクロールの開始点と終了点を見つけることができました。

私も同じことをやろうとしましたScrollviewが、どうやら無理のようです。必要なことを実現できる他の方法はありますか。

ベストアンサー1

View のすべてのインスタンスは を呼び出しますgetViewTreeObserver()。 のインスタンスを保持しているときに、メソッドを使用して をViewTreeObserver追加できるようになりました。OnScrollChangedListener()addOnScrollChangedListener()

このクラスの詳細については、ここ

これにより、すべてのスクロール イベントを認識できますが、座標は取得できません。ただし、リスナー内またはをgetScrollY()使用して座標を取得することはできます。getScrollX()

scrollView.getViewTreeObserver().addOnScrollChangedListener(new OnScrollChangedListener() {
    @Override
    public void onScrollChanged() {
        int scrollY = rootScrollView.getScrollY(); // For ScrollView
        int scrollX = rootScrollView.getScrollX(); // For HorizontalScrollView
        // DO SOMETHING WITH THE SCROLL COORDINATES
    }
});

おすすめ記事