我具有带有图像的回收视图。点击项目时,我可以应用翻转动画。现在,当计数计时器用完时,我希望将所有图像翻转在一起。我如何一次使所有网格项目动画?
这就是我适配器的OnBindViewholder的外观,
@Override
public void onBindViewHolder(final CustomViewHolder viewHolder, final int position) {
Picasso.with(context).load(imageList.get(position).getImageUrl()).placeholder(R.drawable.placeholder).into(viewHolder.imageView);
viewHolder.holder.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AnimatorSet setLeftOut = (AnimatorSet) AnimatorInflater.loadAnimator(context,
R.animator.crad_flip_right_out);
AnimatorSet setLeftIn = (AnimatorSet) AnimatorInflater.loadAnimator(context,
R.animator.card_flip_left_in);
setLeftOut.setTarget(viewHolder.frontView);
setLeftIn.setTarget(viewHolder.backView);
setLeftOut.start();
setLeftIn.start();
}
});
}
尝试以下:
@Override
public void onBindViewHolder(final CustomViewHolder viewHolder, final int position) {
Picasso.with(context).load(imageList.get(position).getImageUrl()).placeholder(R.drawable.placeholder).into(viewHolder.imageView);
viewHolder.holder.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
animateView(viewHolder);
}
});
}
public void animateViewsOfRecyclerView(){
for(int i=0;i<recyclerviewAdapter.getCount();++i){
animateView(recyclerview.findViewHolderForAdapterPosition(i));
}
}
public void animateView(ViewHolder viewholder){
AnimatorSet setLeftOut = (AnimatorSet) AnimatorInflater.loadAnimator(context,
R.animator.crad_flip_right_out);
AnimatorSet setLeftIn = (AnimatorSet) AnimatorInflater.loadAnimator(context,
R.animator.card_flip_left_in);
setLeftOut.setTarget(viewHolder.frontView);
setLeftIn.setTarget(viewHolder.backView);
setLeftOut.start();
setLeftIn.start();
}
每当您需要动画所有视图时,都会调用" AnimateViewSofRecyClerview(("。