2

レイアウトで SwipeRefreshLayout を使用しています。プルダウンされた距離に合わせてアニメーションを表示する必要があります。

これまでのところ、引っ張られた実際の距離を検出する方法は見つかりませんでした。SwipeRefreshListener は、更新が発生したかどうかのみを検出します。

どんな助けでも大歓迎です。

4

1 に答える 1

1

ドラッグ距離を監視するには、SwiperefreshLayout のトップとその唯一の直接の子トップの間の距離を追跡するだけです。

距離の変化を観察する唯一の方法は、PrewDrawListener を使用することでした。

コード スニペットを次に示します。

swipeRefreshLayout = (SwipeRefreshLayout) rootView.findViewById(R.id.swipe_container);
...
final View swipeTarget = swipeRefreshLayout.getChildAt(0);

swipeTarget.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
    @Override
    public boolean onPreDraw() {
        dragDistance = swipeTarget.getTop() - swipeRefreshLayout.getTop();
        return true;
    }
});
于 2014-07-23T16:15:39.837 に答える