티스토리 뷰

300x250
300x250



RecyclerView 는 기본적으로 item 추가, 삭제, 이동 시 animation 을 지원한다.

또한, 이 animation 을 커스텀할 수 있도록 ItemAnimator 가 존재한다.

이번 포스팅에서는 ItemAnimator 에 대해 알아보자.

 

참고로, 지난 포스팅 내용은 하단과 같다.

◼ ItemDecoration, clipToPadding

[Android/UI] - RecyclerView (9) - RecyclerView clipToPadding

[Android/UI] - RecyclerView (8) - RecyclerView 에 ItemDecoration 으로 구분선 및 여백 설정

 

◼ image + text 출력, click 처리, menu 출력, Item 삽입, 수정, 삭제, header, footer 달기

[Android/UI] - RecyclerView (7) - RecyclerView 에 header, footer 달기

[Android/UI] - RecyclerView (6) - RecyclerView item 추가, 수정, 삭제

[Android/UI] - RecyclerView (5) - RecyclerView item long click 시 popup menu 출력하기

[Android/UI] - RecyclerView (4) - RecyclerView item click 시 context menu 출력하기

[Android/UI] - RecyclerView (3) - RecyclerView item 의 click 처리하기

[Android/UI] - RecyclerView (2) - RecyclerView 에 image + text 출력하기



DefaultItemAnimator

RecyclerView 는 기본적으로 DefaultItemAnimator 가 설정되어 있어 item 추가, 삭제, 이동 시 기본적으로 animation 이 동작한다.

단, "notifyDataSetChanged" 이 아닌 "notifyItemInserted", "notifyItemRemoved", "notifyItemChanged" 를 사용해야 한다.

 

하단은 아이템 삽입, 삭제 시 DefaultItemAnimator 를 사용한 예제이다.

가시적으로 확실히 확인하기 위해 duration 을 1초로 설정했다.



SimpleItemAnimator

RecyclerView 의 item 추가, 삭제, 이동 시 커스텀 animation 효과를 내고 싶다면 SimpleItemAnimator 상속받아 커스텀 한다.

단, "notifyDataSetChanged" 이 아닌 "notifyItemInserted", "notifyItemRemoved", "notifyItemChanged" 를 사용해야 한다.

 

하단은 아이템 삽입 시 커스텀 animation 효과를 낸 예제이다.

 



Source code

https://github.com/parkho79/RecyclerView_9



728x90
댓글