/////
Search
Duplicate

6. PageTransformer

class WapplePageTransformer : ViewPager2.PageTransformer { override fun transformPage(page: View, position: Float) { with(page) { val translate = resources.getDimension(R.dimen.view_pager_translate) val scale = 0.88f when { position < -1 -> alpha = 0f position > 1 -> alpha = 0f else -> { alpha = 1f translationX = position * translate scaleY = max(scale, 1 - abs(position)) } } } } }
Kotlin
복사
class HomeWappleAdapter : ListAdapter<Int, HomeWappleAdapter.HomeWappleViewHolder>(diffUtil) { init { submitList(listOf(1, 2, 3, 4, 5, 6, 7, 8, 9)) } override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): HomeWappleViewHolder { val inflater = LayoutInflater.from(parent.context) val binding = ItemHomeWappleBinding.inflate(inflater, parent, false) return HomeWappleViewHolder(binding) } override fun onBindViewHolder(holder: HomeWappleViewHolder, position: Int) { } class HomeWappleViewHolder(binding: ItemHomeWappleBinding) : RecyclerView.ViewHolder(binding.root) companion object { private val diffUtil = object : DiffUtil.ItemCallback<Int>() { override fun areItemsTheSame(oldItem: Int, newItem: Int): Boolean { return oldItem == newItem } override fun areContentsTheSame(oldItem: Int, newItem: Int): Boolean { return oldItem == newItem } } } }
Kotlin
복사