Android Tab选项卡切换实现与优化
Android 里的 Tab 选项卡切换,算是 UI 交互里最常见的玩法之一了。滑着切、点着切都挺顺,适合多内容模块切换的场景。现在主流用法基本是 ViewPager 搭配 TabLayout,用起来灵活,颜值也在线。
以前用 TabHost
或 FragmentTabHost
的朋友觉得麻烦,新方案就清爽多了。你只要把每个页面封装成 Fragment,交给 PagerAdapter 管起来,让 TabLayout 跟 ViewPager 联动,几行代码就能搞定页面切换。
像这种结构,布局上就是 TabLayout
放上面,ViewPager
放下面。代码里写个 FragmentPagerAdapter
,重写 getItem()
和 getCount()
, setupWithViewPager()
一句搞定联动。
TabLayout 还能加图标、改样式、定制指示器。比如用 setTabIndicatorColor()
改颜色,setTabMode()
选模式,是 FIXED
还是 SCROLLABLE
,看你 Tab 数量来决定。
交互方面也挺友好,想监听 Tab 的切换事件就加个 OnTabSelectedListener
,切换时干点事都能搞定。如果你对滑动动画有要求,也能自定义 onPageScrolled()
来细调效果。
如果你手头有个类似电商、新闻类 App,页面模块一堆,用这种结构切起来舒服。顺带推荐几个实战教程,看完理解更直观:Fragment+Tab+ViewPager 页面切换实现教程 和 自定义 tab 实现仿淘宝 TabLayout,都还不错。
如果你是第一次上手,可以从最基本的 ViewPager+Fragment 入门,等熟练了再去加动画、定制样式啥的。别忘了考虑下不同设备的适配和 Fragment 的生命周期管理,做细点,体验才能稳。
评论区