티스토리 뷰
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
'Android > UI' 카테고리의 다른 글
RecyclerView (11) - RecyclerView performance (0) | 2021.05.13 |
---|---|
RecyclerView (9) - RecyclerView clipToPadding (0) | 2021.05.03 |
RecyclerView (8) - RecyclerView 에 ItemDecoration 으로 구분선 및 여백 설정 (0) | 2021.03.31 |
RecyclerView (7) - RecyclerView 에 header, footer 달기 (0) | 2021.02.17 |
RecyclerView (6) - RecyclerView item 추가, 수정, 삭제 (4) | 2021.02.17 |
- Total
- Today
- Yesterday
- notifyDataSetChanged
- task 생성
- StringUtils
- bindservice
- Intent
- p2e
- android intent
- 앱테크 추천
- onCreateContextMenu
- Android Service
- M2E
- 무료채굴
- android activity flag
- 안드로이드 인텐트
- 리워드앱
- mPANDO
- 앱테크
- android flag activity
- BroadcastReceiver
- 리워드 어플
- StartService
- task
- WEMIX
- android task
- registerForContextMenu
- 무료 채굴
- 채굴앱
- onContextItemSelected
- 안드로이드 서비스
- RoomDatabase
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |