개발/android
리사이클러뷰, 레이아웃매니저, 스냅헬퍼, 아이템 데코레이션RecyclerView LayoutManager checkLayoutParams SnapHelper ItemDecoration
반상현
2020. 4. 13. 19:23
반응형
recyclerview의 layoutmanager에서 전체 화면 대비 특정 아이템 크기를 만들 고 싶을 때,
rv.layoutManager = object : LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL,false) {
override fun checkLayoutParams(lp: RecyclerView.LayoutParams): Boolean { // force height of viewHolder here, this will override layout_height from xml
lp.width = (width - (resources.getDimension(R.dimen.padding_default) * 10)).toInt()
return true
}
}
딱딱 끊어지는 터치감은
val snapHelper = PagerSnapHelper()
snapHelper.attachToRecyclerView(rv)
각 아이템의 마진값은
rv.addItemDecoration(HorizontalSpaceDecoration(resources.getDimension(R.dimen.padding_default).toInt()))
으로 관리한다
반응형