Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Dropdown
- imagepicker
- UIPickerView
- CalendarView
- Android
- Kotlin
- MemoList
- RecyclerView
- MotionEvent
- SWIFT
- HTML
- InAppPurchase
- aab
- retrofit2
- Alamofire
- SplashFragment
- ayncAfter
- CSS
- ViewModel
- 실행지연
- 스터디
- progressbar
- web
- 개발
- dispatchQueue
- RxJava
- DispatchTouchEvent
- IOS
- viewpager2
- javascript
Archives
- Today
- Total
멜팅비의 개발 공부
[Android/Kotlin] RecyclerView Drag&Drop 구현하기2 - GridLayout 본문
개발 공부/[Android 개발]
[Android/Kotlin] RecyclerView Drag&Drop 구현하기2 - GridLayout
멜팅비 2021. 10. 7. 00:49반응형
지난번에 이어 GridLayout을 쓰는 RecyclerView에서 Drag&Drop 기능을 구현하는 방법을 정리하려고 한다.
LinearLayout을 사용할 때와 동일하게 ItemTouchHelper를 사용하면 되고,
LinearLayout과 동일한 방법으로 Adapter, item Layout을 만들어주고 연결해주면 된다.
ItemTouchHelper를 참고하려면 이전 글에서 확인 할 수 있다.
2021.09.23 - [개발 공부/[Android 개발]] - [Android/Kotlin] RecyclerView Drag&Drop, Swipe 구현하기
이때, RecyclerView의 LayoutManager는 GridLayoutManager로 설정하고, spanCount로 한 줄에 들어갈 Item의 수를 설정해준다.
한 줄에 4개씩 보여주길 원하면 아래와 같이 설정하면 된다.
// GridLayout RecyclerView 설정
val adapter = GridListViewAdapter(list)
recyclerView.layoutManager = GridLayoutManager(this, 4)
val callback = ItemTouchHelperCallback(adapter)
val touchHelper = ItemTouchHelper(callback)
touchHelper.attachToRecyclerView(recyclerView)
recyclerView.adapter = adapter
adapter.startDrag(object : GridListViewAdapter.OnStartDragListener {
override fun onStartDrag(viewHolder: RecyclerView.ViewHolder) {
touchHelper.startDrag(viewHolder)
}
})
반응형
'개발 공부 > [Android 개발]' 카테고리의 다른 글
[Android] 투명도 - Hex값 정리 (0) | 2022.01.05 |
---|---|
[Android/Kotlin] dispatchTouchEvent 사용하기 - 터치 이벤트 감지 (0) | 2021.10.07 |
[Android/Kotlin] RecyclerView Drag&Drop, Swipe 구현하기 (0) | 2021.09.23 |
[Android/Kotlin] 안드로이드 인앱 결제(구독상품) 구현 정리 (3) | 2021.09.15 |
[Android/Kotlin] 유용한 Custom Calendar Library 소개 (0) | 2021.09.09 |
Comments