[Android APP] feat. Kotlin/Kotlin 공부
Kotlin : RecyclerView snapHelper
JuJu(INTJ)
2023. 3. 27. 10:16
구현하고 싶은 것
리사이클러뷰 사용 중 스크롤하면 아이템이 촤르르르륵 넘어가는 구조가 아닌 하나씩 보여주도록 구현하고 싶다.
해결
SnapHelper를 사용해 스크롤을 항목 단위로 넘어가게 해준다.
코드
//snaphelper 선언
val snapHelper: SnapHelper = PagerSnapHelper()
//리사이클러뷰
viewHolder.binding.listItemRecycler.apply {
layoutManager = LinearLayoutManager(context).also { it.orientation = LinearLayoutManager.HORIZONTAL }
adapter = GalleryInsideAdapter(context as Context, galleryData, token)
if ( onFlingListener == null) snapHelper.attachToRecyclerView(viewHolder.binding.listItemRecycler)
addOnScrollListener(object : RecyclerView.OnScrollListener() {
override fun onScrollStateChanged(@NonNull recyclerView: RecyclerView, newState: Int) {
super.onScrollStateChanged(recyclerView, newState)
}
override fun onScrolled(@NonNull recyclerView: RecyclerView, dx: Int, dy: Int) {
super.onScrolled(recyclerView, dx, dy)
}
})
}
반응형