安卓 TabLayout + ViewPager 实现左右滑动

作者:vkvi 来源:ITPOW(原创) 日期:2018-7-18

第一步是要让 TabLayout 和 ViewPager 关联起来

这样 ViewPager 滑的时候,TabLayout 也跟着滑。

第二步是让 TabLayout 可以被人滑动

第一步后 TabLayout 虽然可以跟着 ViewPager 滑动,但是人去滑它是滑不动的,得这样:

但是,当 TabLayout 的 item 比较少时,这样设置不仅让其可滑动,还会改变布局,就是几个 item 的宽度都严重缩小,并堆到左侧去,就像 CSS 中的 float:left 一样。

真的是,搞什么搞。

第三步写一个 Adapter

继承自 PagerAdapter,然后 ViewPager 用之。Adapter 倒不复杂,完善其继承的方法即可,跟其他的 Adapter 一个道理。只是有一个坑,就是它居然会去改 TabLayout item 的标题,哇塞,想想都刺激,这些创造者到底在搞什么啊。怎么解决?在继承中重写 getPageTitle 方法,返回实际的标题,否则它会用空来为 TabLayout item 设置标题。

 

相关文章