[英]How to animate views inside a specific recyclerView item(cardView)?
[英]How to animate specific item of Recyclerview?
我想要當我點擊加號按鈕時添加了動畫的新項目這是一個代碼
viewHolder.cart_plus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
menu.add(position+1,menu.get(position));
Singleton.getInstance().getMenuExtraArrayList().add(position+1,menu.get(position));
((CartActivity)context).cartIconCounter.setText( Singleton.getInstance().getMenuExtraArrayList().size()+"");
((CartActivity)context).setPrice();
notifyDataSetChanged();
setAnimation(position,viewHolder.itemView);
}
});
這是 setAnimationMethod
private void setAnimation(int psition, View itemView) {
if (psition > lastPosition)
{
Animation animation = AnimationUtils.loadAnimation(context, android.R.anim.slide_in_left);
itemView.startAnimation(animation);
lastPosition = psition;
}
}
並且 lastposition 的初始值為 -1
您在這里通過調用notifyDataSetChanged()
所做的是告訴回收器視圖您的所有數據集都已更改並且應該重新繪制它們,而實際上您只需要插入position+1
處的添加視圖。
要僅通知回收站視圖有關插入的項目,您只需調用notifyItemInserted(position+1)
(假設列表項索引和回收站視圖項目位置相同)
您可能也有興趣在此處學習實現 RecyclerView 動畫的簡潔方法,它使用內置的android:layoutAnimation
屬性來定義您的布局插入動畫,即:
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layoutAnimation="@anim/layout_animation_fall_down"
/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.