Android ViewPager2 & TabLayout

本文介绍了如何在Android应用中使用ViewPager2和TabLayout。首先,定义了一个RecyclerView Adapter和单元布局,然后展示了如何将ViewPager2绑定到RecyclerView Adapter。接着,通过TabLayoutMediator解决TabLayout与ViewPager2的绑定问题。最后,对比了RecyclerView Adapter和FragmentStateAdapter的使用场景,强调了在考虑页面生命周期时使用FragmentStateAdapter的重要性。此外,还提到了旧版TabLayout与ViewPager的集成方式。
摘要由CSDN通过智能技术生成

<com.google.android.material.tabs.TabLayout
android:id=“@+id/tabLayout”
android:layout_width=“match_parent”
android:layout_height=“wrap_content”/>

<androidx.viewpager2.widget.ViewPager2
android:id=“@+id/viewpager”
android:layout_width=“match_parent”
android:layout_height=“240dp”/>

定义RecyclerView Adapter和单元布局

class DemoViewPagerAdapter : RecyclerView.Adapter<DemoViewPagerAdapter.EventViewHolder>() {
val eventList = listOf(“0”, “1”, “2”)

// Layout “layout_demo_viewpager2_cell.xml” will be defined later
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) =
EventViewHolder(LayoutInflater.from(parent.context).inflate(R.layout.layout_demo_viewpager2_cell, parent, false))

override fun getItemCount() = eventList.count()
override fun onBindViewHolder(holder: EventViewHolder, position: Int) {
(holder.view as? TextView)?.also{
it.text = "Page " + eventList.get(position)

val backgroundColorResId = if (position % 2 == 0) R.color.blue else R.color.orange)
it.setBackgroundColor(ContextCompat.getColor(it.context, backgroundColorResId))
}
}

class EventViewHolder(val view: View) : RecyclerView.ViewHolder(v

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值