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 | 31 |
Tags
- SplashFragment
- 스터디
- MemoList
- aab
- CalendarView
- RxJava
- web
- progressbar
- Kotlin
- UIPickerView
- ViewModel
- retrofit2
- viewpager2
- InAppPurchase
- IOS
- ayncAfter
- javascript
- 실행지연
- Alamofire
- Dropdown
- Android
- MotionEvent
- 개발
- RecyclerView
- HTML
- dispatchQueue
- DispatchTouchEvent
- SWIFT
- CSS
- imagepicker
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