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
项目上实现facebookRebrand
,但在我的解决方案中,最后一个项目有动画,而不是所有项目,事实上,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;
}
});
}