レイアウトで を使用しており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
}
});