使用Fragment和Viewpager实现Tab嵌套,仿网易云音乐tab
2016-10-26 21:52
1206 查看
效果图
我们先看布局文件
首先是一个顶部布局top 里面有五个图标
其次在main布局中嵌入top布局,并且定义一个viewpager
随后在定义三个子布局(tab01,tab02,tab03),分别对应三个可滑动的绿色图标。定义完三个tab后,在需要扩展的tab中再添加一个viewpager控件。
最后定义每个子布局的子布局,就是图中的个性推荐,歌单那些….
我们再来看java代码部分
首先建立三个Fragment类,f1,f2,f3,在每个Fragment中分别传入tab01,tab02,tab03。
首先在MainActivity中,把imageView,Fragment等控件初始化,创建一个list用来存放Fragment:
List mFragments = new ArrayList<>();
Fragment fragment1 = new Fragment1();
mFragments.add(fragment1);
再创建一个FragmentPageAdapter
注意在这里要 写一个空方法删除super防止Fragment被销毁重复加载:
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
}
如果不这样 就会重复加载Fragment,在滑动时会产生BUG。
最后再为每一个图标添加监听,滑动时改变颜色,点击时改变颜色。同时监听viewpager的滑动。
同理
在Fragment1中,我们首先把linearlayout,textview等控件初始化,和xml视图连接起来。并且建立一个List用来存放Viewpager的页面。
随后将每个子页面的子页面添加到view中,比如:
View tab011 = mInflater.inflate(R.layout.tab011,null);
然后调用List的add()方法:
mList.add(tab011);
再为viewpager建立一个pagerAdapter…
最后监听文字颜色变化等。
就是这么简单,so easy。
源代码不贴了,怕被大牛看了笑话….想要的私下找我吧
相关文章推荐
- 使用Fragment和Viewpager实现Tab嵌套,仿网易云音乐tab
- 使用FragmentTabHost+TabLayout+ViewPager实现双层嵌套Tab
- 使用FragmentTabHost+TabLayout+ViewPager实现双层嵌套Tab
- 使用ViewPager和Fragment同时实现点击底部Tab切换和手势滑动切换Fragment
- ViewPager、Fragment、Matrix综合使用实现Tab滑页效果
- Android使用TabLayou+fragment+viewpager实现滑动切换页面效果
- ViewPager+FragmentPagerAdapter实现Tab/模仿微信界面(推荐使用)
- 使用FragmentTabHost+TabLayout+ViewPager实现双层嵌套Tab
- 使用TabLayout、ViewPager和Fragment实现顶部菜单可滑动切换
- 使用DrawerLayout实现侧滑菜单,,RadioButton+Fragment实现页面主布局,首页面使用tabLayout+viewPager实现
- 使用TabLayout、ViewPager和Fragment实现顶部菜单可滑动切换
- tablayout + viewpager + fragment 实现标签,并且部分fragment里面嵌套viewpager+fragment
- 使用TabLayout、ViewPager和Fragment实现顶部菜单可滑动切换
- Android实践-使用ViewPager和Fragment实现带Tab导航条的仿新闻类页面
- Android Studio 使用ViewPager + Fragment实现滑动菜单Tab效果 --简易版
- 使用fragment+TabLayout+Viewpager实现页卡式界面
- Android Tab -- 使用ViewPager、Fragment、FragmentPagerAdapter来实现
- 使用 ViewPagerIndicator + FragmentPagerAdapter 实现 tab 切换
- 使用Fragment+ViewPager,仿微信实现多页Tab切换
- Android Studio使用ViewPager+Fragment实现滑动菜单Tab效果