我们有时候需要 标题页卡与ViewPager结合使用,其实原理也很简单。

不过工程中要引入android-support-design.jar

android studio中需要在配置中添加:

dependencies {     compile fileTree(dir: 'libs', include: ['*.jar'])     testCompile 'junit:junit:4.12'     compile 'com.android.support:appcompat-v7:23.4.0'     compile 'com.android.support:support-v4:23.4.0'     compile 'com.android.support:design:23.4.0'   }并且版本要一致,否则不能达到效果

首先是布局文件

<android.support.design.widget.TabLayout android:id="@+id/tabs" android:background="@color/search_bg_top" android:layout_width="match_parent"android:layout_height="wrap_content" app:tabIndicatorColor="@color/white" app:tabTextColor="@color/white" app:tabSelectedTextColor="@color/bg_gray" /><android.support.v4.view.ViewPager android:id="@+id/vp_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1.0" />

接下来是activity

 private List<String> mTitleList=new ArrayList();//页卡标题集合private View view1, view2;//页卡视图private List<View> mViewList = new ArrayList();//页卡视图集合 private TabLayout mTabLayout; private ViewPager mViewPager; private LayoutInflater mInflater;
mViewPager = (ViewPager) findViewById(R.id.vp_view);
mTabLayout = (TabLayout) findViewById(R.id.tabs);

mInflater = LayoutInflater.from(this);view1 = mInflater.inflate(R.layout.search_data, null);
view2 = mInflater.inflate(R.layout.search_vp_chart, null);//添加页卡视图
mViewList.add(view1);
mViewList.add(view2);//添加页卡标题
mTitleList.add("数据");
mTitleList.add("图表");

mTabLayout.setTabMode(TabLayout.MODE_FIXED);//设置tab模式,当前为系统默认模式
mTabLayout.addTab(mTabLayout.newTab().setText(mTitleList.get(0)));//添加tab选项卡
mTabLayout.addTab(mTabLayout.newTab().setText(mTitleList.get(1)));

MyPagerAdapter mAdapter = new MyPagerAdapter(mViewList);
mViewPager.setAdapter(mAdapter);//给ViewPager设置适配器
mTabLayout.setupWithViewPager(mViewPager);//将TabLayout和ViewPager关联起来。
mTabLayout.setTabsFromPagerAdapter(mAdapter);//给Tabs设置适配器class MyPagerAdapter extends PagerAdapter {private List<View> mViewList;public MyPagerAdapter(List<View> mViewList) {this.mViewList = mViewList;}@Overridepublic int getCount() {return mViewList.size();//页卡数
        }@Overridepublic boolean isViewFromObject(View view, Object object) {return view == object;//官方推荐写法
        }@Overridepublic Object instantiateItem(ViewGroup container, int position) {container.addView(mViewList.get(position));//添加页卡return mViewList.get(position);}@Overridepublic void destroyItem(ViewGroup container, int position, Object object) {container.removeView(mViewList.get(position));//删除页卡
        }@Overridepublic CharSequence getPageTitle(int position) {return mTitleList.get(position);//页卡标题
        }}

这样大功告成

转载于:https://www.cnblogs.com/tangZH/p/6123297.html

ViewPager与Tab结合使用相关推荐

  1. 无需SherlockActionbar的SlidingMenu使用详解(二)——向Fragment中添加ViewPager和Tab

    之前我们对大体框架有了一定的认识,现在我们来做Fragment界面,其实这里面和这个框架的关系就不大了,但因为有些同学对于在SlidingMenu中切换fragment还是有问题,所以我就在本篇进行详 ...

  2. TabLayout+ViewPager实现tab切换

    声明: 此文章主要来自:TabLayout+ViewPager轻松搞定Tab栏切换 ,原作者写的很详细.但是为了加深印象,以及对其中的部分现象进行更好的演示,特此重新写一遍. 前言: 在项目开发中很多 ...

  3. viewpager 的工具类,内置多种指示器,能够帮你快速完成,轮播图,app 引导页,viewpager 的 tab 指示器等等

    ViewPagerHelper 项目地址:LillteZheng/ViewPagerHelper  简介:这是一个,viewpager 的工具类,内置多种指示器,能够帮你快速完成,轮播图,app 引导 ...

  4. android tab 切换动画,Android之ViewPager+TabLayout组合实现导航条切换效果(微信和QQ底部多标签切换)...

    前言 之前在另外一篇中用Fragment和button实现了点击切换Fragment的效果,比较简陋.这次改用ViewPager+TabLayout 实现联动的效果. 实现效果 ViewPager 多 ...

  5. 低版本系统兼容的ActionBar(六)用Fragment+ViewPager+Tab实现快速导航

    Tab经常和Fragment结合使用,这一讲我们用3种方式来实现这种快捷导航. 0.重要的两个监听器 MyTabListener,这个我们之前已经接触过了 package com.kale.actio ...

  6. Android--- Drawer and Tab Navigation with ViewPager

    Android--- Drawer and Tab Navigation Tab Navigation --- View Pager+ Fragment + TabLayout 关于ViewPager ...

  7. android 局部tab页,安卓TabLayout+ViewPager实现切页

    安卓使用TabLayout+ViewPager+Fragment 实现页面切换,可实现左右滑动切换视图界面和点击切换 可自定义菜单栏是在顶部还是在底部 一.实现效果: 二.实现过程: 2.1 一些重要 ...

  8. Kotlin + AndroidX + Tablayout + ViewPager + Fragment 实现Tab切页

    1.前沿 Google已经受够了V4,V7包的各种冲突.所以直接不再维护V4,V7包了.以后就统一使用AndroidX. 2.gradle配置: 除了原有的androidX的库,还需要使用materi ...

  9. 使用ViewPager和FragmentPagerAdapter实现Tab

    前面我们分别利用ViewPager和Fragment实现了Tab效果.但是使用Fragment实现的Tab不能够左右滑动.如果我们既想使用Fragment又想让Tab能够滑动,那么怎么办呢?这 就是今 ...

最新文章

  1. 操作系统的八股文自述(持续更新)
  2. Halcon算子--图像、区域、轮廓、测量、拟合、垂足、夹角
  3. 【转】 ABAP中的异常处理 - TRY CATCH的使用实例
  4. Taro+react开发(48)taro中switchTab
  5. leetcode 1202 python
  6. oCPC中转化率模型与校准
  7. 无约束最优化(二) 共轭方向法与共轭梯度法
  8. ubuntu安装使用latex和texmaker--PC端
  9. IOS动画隐式,显式,翻页
  10. 实例3、研究 ICMP 数据包
  11. 认识CodeSmith
  12. 我被开除了。。只因为看了骂公司的帖子
  13. 有了这个列表,程序员不愁没练手的小项目了
  14. C语言---编译器、编辑器
  15. 所有能反演SIF的卫星以及下载链接
  16. 如何去除图片雾化?给你推荐图片去雾怎么去除的方法
  17. height:100%和height:100vh的区别
  18. 【FFMPEG】AVFrame中buffer分配的两种方式
  19. Http——HttpURLConnection详解
  20. airpods耳机敲击没反应_苹果airpods蓝牙耳机使用感受与使用方法

热门文章

  1. HTML5儿童玩具游戏商店网站模板
  2. 时间格式化,常用时间,格式
  3. 众人帮蚂蚁帮任务平台修复版源码
  4. 求职简历介绍html5模板
  5. 使用 jQuery Mobile 与 HTML5 开发 Web App (十三) —— jQuery Mobile 方法上
  6. Swift快速参考手册
  7. 5种你未必知道的JavaScript和CSS交互的方法
  8. 防止电子邮件地址被搜索到的新方法
  9. 搜索——滑雪(poj1088)
  10. ubuntu14.04+eigen3安裝(亲测)