Android在recyclerview项目上实现facebook反弹

Android在recyclerview项目上实现facebook反弹,android,facebook,Android,Facebook,我试图在RecyclerView项目上实现facebookRebrand,但在我的解决方案中,最后一个项目有动画,而不是所有项目,事实上,RecyclerView项目中的一个在触摸每个项目后都能工作 扩展的SimpleSpringListener: public class ExampleSpringListener extends SimpleSpringListener { private View sView; public void setsView(View v) {

我试图在
RecyclerView
项目上实现facebook
Rebrand
,但在我的解决方案中,最后一个项目有动画,而不是所有项目,事实上,
RecyclerView
项目中的一个在触摸每个项目后都能工作

扩展的SimpleSpringListener:

public class ExampleSpringListener extends SimpleSpringListener {
    private View sView;

    public void setsView(View v) {
        this.sView = v;
    }

    @Override
    public void onSpringUpdate(Spring spring) {
        float mappedValue = (float) SpringUtil.mapValueFromRangeToRange(spring.getCurrentValue(), 0, 1, 1, 0.5);
        sView.setScaleX(mappedValue);
        sView.setScaleY(mappedValue);
    }
}
@Override
public void onBindViewHolder(final MarketListsViewHolder holder, final int position) {
    mSpringListener.setsView(holder.market_lists_root);
    holder.market_lists_root.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            switch (event.getAction()) {
                case MotionEvent.ACTION_DOWN:
                    // When pressed start solving the spring to 1.
                    mScaleSpring.setEndValue(1);
                    break;
                case MotionEvent.ACTION_UP:
                case MotionEvent.ACTION_CANCEL:
                    // When released start solving the spring to 0.
                    mScaleSpring.setEndValue(0);
                    break;
            }
            return true;
        }
    });
}
我的适配器:

public class ExampleSpringListener extends SimpleSpringListener {
    private View sView;

    public void setsView(View v) {
        this.sView = v;
    }

    @Override
    public void onSpringUpdate(Spring spring) {
        float mappedValue = (float) SpringUtil.mapValueFromRangeToRange(spring.getCurrentValue(), 0, 1, 1, 0.5);
        sView.setScaleX(mappedValue);
        sView.setScaleY(mappedValue);
    }
}
@Override
public void onBindViewHolder(final MarketListsViewHolder holder, final int position) {
    mSpringListener.setsView(holder.market_lists_root);
    holder.market_lists_root.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            switch (event.getAction()) {
                case MotionEvent.ACTION_DOWN:
                    // When pressed start solving the spring to 1.
                    mScaleSpring.setEndValue(1);
                    break;
                case MotionEvent.ACTION_UP:
                case MotionEvent.ACTION_CANCEL:
                    // When released start solving the spring to 0.
                    mScaleSpring.setEndValue(0);
                    break;
            }
            return true;
        }
    });
}