赞
踩
class ViewPager2Activity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.layout_view_pager_demo)
viewpager.adapter = DemoViewPagerAdapter()
}
}
TabLayout 无法与 ViewPager2绑定
但是在StackOverFlow中找到了解决方案,我们可以使用TabLayoutMediator实现TabLayout与ViewPager2的绑定。
TabLayoutMediator不能直接使用,所以需要拷贝一份出来,根据代码注释可知TabLayoutMediator只能在初始化之后才能调用attach方法:
class ViewPager2Activity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_view_pager2)
// Must be declared before TabLayoutMediator.attach()
viewpager.adapter = DemoViewPagerAdapter()
TabLayoutMediator(tabLayout, viewpager, object : TabLayoutMediator.OnConfigureTabCallback {
override fun onConfigureTab(tab: TabLayout.Tab, position: Int) {
// Styling each tab here
tab.setText(“Tab $position”)
}
}).attach()
}
}
TabLayoutMediator.OnConfigureTabCallback是一个用户友好的方法,在初始化TabLayout.Tab或数据更改是调用:
ViewPager2可以接受RecyclerView Adapter 和 FragmentStateAdapter,两者的区别就是RecyclerView Adapter inflate View,而FragmentStateAdapter inflate Fragment。
当ViewPager2中的每个页面用于显示静态信息时,当必须考虑页面的生命周期时,可以使用FragmentStateAdapter。
TabLayout与旧版ViewPager集成在一起很简单,只需将其添加为ViewPager的子项,并按设置layout_gravity属性就可以了。
<android.support.v4.view.ViewPager
android:layout_width=“match_parent”
android:layout_height=“match_parent”>
<android.support.design.widget.TabLayout
android:layout_width=“match_parent”
android:layout_height=“wrap_content”
android:layout_gravity=“top” />
</android.support.v4.view.ViewPager>
然而,ViewPager2不接受TabLayout作为子View绑定。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
其实要轻松掌握很简单,要点就两个:
你不需要是天才,也不需要具备强悍的天赋,只要做到这两点,短期内成功的概率是非常高的。
对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。下面资料部分截图是我花费几个月时间整理的,诚意满满:特别适合有3-5年开发经验的Android程序员们学习。
- 自行下载直达领取链接:【点击我即可获得!】
- 以上进阶BATJ大厂学习资料可以免费分享给大家,需要完整版的朋友,【点这里可以看到全部内容】。
要完整版的朋友,【点这里可以看到全部内容】。**
[外链图片转存中…(img-Q5u2sduY-1711293772525)]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。