gpt4 book ai didi

android - Recyclerview 反弹动画

转载 作者:太空狗 更新时间:2023-10-29 14:02:08 26 4
gpt4 key购买 nike

我为所有项目添加了反弹动画,这是一行 recylerview。但是动画是在行出现时开始的。滚动事件停止时如何启动动画?

有什么想法吗?

我在 onbindviewholder 中调用以下方法:

    @Override
public void onBindViewHolder(ViewHolder holder, int position) {

//some codes here

setReboundAnimationtoProfilePicture(holder.image5IV);

}

private void setReboundAnimationtoProfilePicture(ImageView imageView){
SpringSystem springSystem;
Spring mScaleSpring;
SpringConfig config;

springSystem = SpringSystem.create();
//config = SpringConfig.defaultConfig;
mScaleSpring = springSystem.createSpring();

Crashlytics.log(Log.ASSERT, "velocity ", mScaleSpring.getVelocity() +"");

Random rand = new Random();
int randomTension = rand.nextInt((40 - 28) + 1) + 28;
int randomFriction = rand.nextInt((25 - 15) + 1) + 15;

//config.tension = 40;
//config.friction = 5;


SpringListener mSpringListener = new SpringListener(imageView);
mScaleSpring.addListener(mSpringListener);
Handler handler = new Handler();
handler.post(new myRunnable(mScaleSpring, handler));



}

Spring 监听器

private class SpringListener extends SimpleSpringListener {

private ImageView imageView;

public SpringListener(ImageView imageView){

this.imageView = imageView;
}
@Override
public void onSpringUpdate(Spring spring) {
float mappedValue = (float) SpringUtil.mapValueFromRangeToRange(spring.getCurrentValue(), 0, 1, 1, 0.5);
imageView.setScaleX(mappedValue);
imageView.setScaleY(mappedValue);
}
}

谢谢。

最佳答案

也许你可以使用onScrollListener()和这样的事情:

RecyclerView.setOnScrollListener(new OnScrollListener() {
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
//Is scrolling
}

public void onScrollStateChanged(AbsListView view, int scrollState) {
if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) {
//Start animation
}
}});

关于android - Recyclerview 反弹动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34793320/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com