ViewPager与Tab结合使用
我们有时候需要 标题页卡与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结合使用相关推荐
- 无需SherlockActionbar的SlidingMenu使用详解(二)——向Fragment中添加ViewPager和Tab
之前我们对大体框架有了一定的认识,现在我们来做Fragment界面,其实这里面和这个框架的关系就不大了,但因为有些同学对于在SlidingMenu中切换fragment还是有问题,所以我就在本篇进行详 ...
- TabLayout+ViewPager实现tab切换
声明: 此文章主要来自:TabLayout+ViewPager轻松搞定Tab栏切换 ,原作者写的很详细.但是为了加深印象,以及对其中的部分现象进行更好的演示,特此重新写一遍. 前言: 在项目开发中很多 ...
- viewpager 的工具类,内置多种指示器,能够帮你快速完成,轮播图,app 引导页,viewpager 的 tab 指示器等等
ViewPagerHelper 项目地址:LillteZheng/ViewPagerHelper 简介:这是一个,viewpager 的工具类,内置多种指示器,能够帮你快速完成,轮播图,app 引导 ...
- android tab 切换动画,Android之ViewPager+TabLayout组合实现导航条切换效果(微信和QQ底部多标签切换)...
前言 之前在另外一篇中用Fragment和button实现了点击切换Fragment的效果,比较简陋.这次改用ViewPager+TabLayout 实现联动的效果. 实现效果 ViewPager 多 ...
- 低版本系统兼容的ActionBar(六)用Fragment+ViewPager+Tab实现快速导航
Tab经常和Fragment结合使用,这一讲我们用3种方式来实现这种快捷导航. 0.重要的两个监听器 MyTabListener,这个我们之前已经接触过了 package com.kale.actio ...
- Android--- Drawer and Tab Navigation with ViewPager
Android--- Drawer and Tab Navigation Tab Navigation --- View Pager+ Fragment + TabLayout 关于ViewPager ...
- android 局部tab页,安卓TabLayout+ViewPager实现切页
安卓使用TabLayout+ViewPager+Fragment 实现页面切换,可实现左右滑动切换视图界面和点击切换 可自定义菜单栏是在顶部还是在底部 一.实现效果: 二.实现过程: 2.1 一些重要 ...
- Kotlin + AndroidX + Tablayout + ViewPager + Fragment 实现Tab切页
1.前沿 Google已经受够了V4,V7包的各种冲突.所以直接不再维护V4,V7包了.以后就统一使用AndroidX. 2.gradle配置: 除了原有的androidX的库,还需要使用materi ...
- 使用ViewPager和FragmentPagerAdapter实现Tab
前面我们分别利用ViewPager和Fragment实现了Tab效果.但是使用Fragment实现的Tab不能够左右滑动.如果我们既想使用Fragment又想让Tab能够滑动,那么怎么办呢?这 就是今 ...
最新文章
- 操作系统的八股文自述(持续更新)
- Halcon算子--图像、区域、轮廓、测量、拟合、垂足、夹角
- 【转】 ABAP中的异常处理 - TRY CATCH的使用实例
- Taro+react开发(48)taro中switchTab
- leetcode 1202 python
- oCPC中转化率模型与校准
- 无约束最优化(二) 共轭方向法与共轭梯度法
- ubuntu安装使用latex和texmaker--PC端
- IOS动画隐式,显式,翻页
- 实例3、研究 ICMP 数据包
- 认识CodeSmith
- 我被开除了。。只因为看了骂公司的帖子
- 有了这个列表,程序员不愁没练手的小项目了
- C语言---编译器、编辑器
- 所有能反演SIF的卫星以及下载链接
- 如何去除图片雾化?给你推荐图片去雾怎么去除的方法
- height:100%和height:100vh的区别
- 【FFMPEG】AVFrame中buffer分配的两种方式
- Http——HttpURLConnection详解
- airpods耳机敲击没反应_苹果airpods蓝牙耳机使用感受与使用方法