在学习Instagram代码过程中,遇到了一个通过AppBarLayout,TabLayout和ViewPager组合实现滑屏效果的方法,代码比较容易,但只适合这种少量静态页面的Fragments
1. 通过CoordinatorLayout搭建和实现页面效果

2. 通过AppBarLayout和TabLayout实现tabs功能

通过ViewPager控件实现滑屏功能

android:layout_below="@id/tabslayout"/> 设置到tabs下面,但要与RelativeLayout布局一起使用,demo中并没有添加RelativeLayout
3. 自定义class:SectionPagerAdapter继承FragmentPagerAdapter并重写方法
- FragmentPagerAdapter将Fragment存入到FragmentManger中,用于用户切换页面使用。
- FragmentPagerAdapter适用于少量静态页面切换。
- 我们的demo中有三个Fragment: camera, home, message

4. 在主Activity:AppbarLayoutTabLayoutAndViewPager中添加adapter,viewpager和TabLayout
- 实例化SectionPagerAdapter
- 实例化三个Fragment,并添加到adapter中

- 通过findViewById关联viewpager控件
- viewpager关联adapter

- 通过findViewById关联TabLayout
- Tablayout关联viewpager控件

- 上述代码都写在AppbarLayoutTabLayoutAndViewPager.java中,并调用方法

5. 添加Fragment代码和布局


6. 效果图片

网友评论