使用Fragment和Viewpager实现Tab嵌套,仿网易云音乐tab
来源:互联网 发布:氮素网络是什么意思 编辑:程序博客网 时间:2024/04/30 12:14
效果图
我们先看布局文件
首先是一个顶部布局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
- 使用ViewPager+Fragment+仿网易云音乐的tab选项栏来实现多屏滑动
- Android实践-使用ViewPager和Fragment实现带Tab导航条的仿新闻类页面
- radiogroup仿tab+viewpager+fragment
- ViewPageIndicator + ViewPager + Fragment实现类似网易新闻客户端Tab标签
- ViewPageIndicator + ViewPager + Fragment实现类似网易新闻客户端Tab标签
- Android 使用Fragment,ViewPagerIndicator 仿网易新闻客户端Tab标签
- FragmentTabHost+Fragment+ViewPager实现内外层嵌套Tab
- FragmentTabHost+Fragment+ViewPager实现内外层嵌套Tab
- FragmentTabHost+Fragment+ViewPager实现内外层嵌套Tab
- 使用ViewPager和Fragment同时实现点击底部Tab切换和手势滑动切换Fragment
- 使用fragment实现tab
- 使用Fragment实现Tab
- 使用FragmentTabHost+TabLayout+ViewPager实现双层嵌套Tab
- 使用FragmentTabHost+TabLayout+ViewPager实现双层嵌套Tab
- 使用FragmentTabHost+TabLayout+ViewPager实现双层嵌套Tab
- 使用FragmentTabHost+TabLayout+ViewPager实现双层嵌套Tab
- ViewPager、Fragment、Matrix综合使用实现Tab滑页效果
- 队列02:应用
- 【c语言问题系列教程之四】指针
- 多态
- 自定义AlertDialog对话框
- 《CLR via C#》读书笔记-.NET多线程(一)
- 使用Fragment和Viewpager实现Tab嵌套,仿网易云音乐tab
- PAT乙级1021
- Linux系统下的简单命令【一】
- 函数库
- javascript 中 typeof的返回值
- 用字节数组存放二维地图数据
- cogs 272 [NOI1998] 免费馅饼 (dp)
- 远程连接oracle数据库设置
- jquery.pagination.js分页插件的简单使用