TabLayout+View Pager+Fragment 实现页面左右滑动切换
来源:互联网 发布:淘宝运营教程百度云 编辑:程序博客网 时间:2024/05/17 02:11
一、先上图看看效果
二、添加依赖
//因为TabLayout是Android Design Support Library 中的控件,所以需要在build.gradle添加依赖compile 'com.android.support:design:25.2.0'
三、界面布局代码
注意:使用app属性的时候需要先引入app的命名空间
xmlns:app="http://schemas.android.com/apk/res-auto"
<android.support.design.widget.TabLayout android:id="@+id/tabLayout" android:layout_width="match_parent" android:layout_height="40dp" android:layout_below="@id/rl_topbar" app:tabBackground="@color/topBarBackgound" app:tabIndicatorColor="@color/tabTextChenked" app:tabSelectedTextColor="@color/tabTextChenked" app:tabIndicatorHeight="2dp" app:tabTextColor="@color/topBarText" > </android.support.design.widget.TabLayout> <android.support.v4.view.ViewPager android:id="@+id/viewpager_tab" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@id/tabLayout"> </android.support.v4.view.ViewPager>
四、定义类继承FragmentPagerAdapter
public class TabAdapter extends FragmentPagerAdapter {//tab文字标题 private String[] mTabData;//需要显示的Fragment的集合 private List<Fragment> mfragmentList; public TabAdapter(FragmentManager fm,String[] tabData,List<Fragment> fragmentList) { super(fm); this.mTabData = tabData; this.mfragmentList = fragmentList; }//根据position返回需要显示的Fragment @Override public Fragment getItem(int position) { return mfragmentList.get(position); }//获取需要显示Fragment的数据量,有几个标题就肯定有几个Fragment,所以直接拿数组的长度就可以了 @Override public int getCount() { return mTabData.length; }//返回tab的标题文字数据 @Override public CharSequence getPageTitle(int position) { return mTabData[position]; }}
这里需要注意的是,我在编写的时候Fragment只能使用V4包下不然 Adapter中的getItem方法的返回类型会不一致。
五、代码中设置
//将需要显示的Fragment添加到集合当中 fragmentList = new ArrayList<Fragment>(); fragmentList.add(bbcSixminutesFragment); fragmentList.add(tunnelEnglishFragment); fragmentList.add(bbcNewsFragment); fragmentList.add(newsVocabularyFragment); //设置Tab TabAdapter tabAdapter = new TabAdapter(getSupportFragmentManager(),tabData,fragmentList); //设置ViewPager的适配器 viewpager_tab.setAdapter(tabAdapter); //绑定Tab tabLayout.setupWithViewPager(viewpager_tab);
阅读全文
0 0
- TabLayout+View Pager+Fragment 实现页面左右滑动切换
- Viewpager+Fragment实现左右滑动切换页面
- Fragment嵌套Fragment, TabLayout + ViewPager实现页面切换滑动
- viewpager+fragment左右滑动切换页面
- ViewPager结合Fragment实现页面左右滑动
- AppBarLayout、ViewPager、Fragment实现页面左右滑动
- TabActivity实现手指左右滑动切换页面
- Android 利用ViewPager实现底部圆点导航左右滑动效果以及Fragment页面切换
- Tablayout+viewpager+fragment实现tab导航以及滑动切换
- TabLayout+ViewPager撤消左右滑动切换功能
- TabLayou+fragment+viewpager实现滑动切换页面
- fragment+viewpager+tablayou实现滑动切换页面
- Tabhost页面实现左右滑动进行页面切换
- 使用viewflipper实现左右滑动,动态切换view
- Android左右滑动切换页面
- Android 页面左右滑动切换
- Android 中Fragment+ViewPage+Tablayout 实现 左右滑动(新学的方法)
- Android 左右滑动切换页面或Activity的效果实现
- leetcode 16: 3Sum Closest
- PAT 甲级 1019. General Palindromic Number (20)
- 关于restful协议很多人的误解
- JAVA服务器获取手机设备的IP地址
- 点哪选那
- TabLayout+View Pager+Fragment 实现页面左右滑动切换
- 2-解决中文乱码
- Winform 如何在界面控件上加上一行旋转角度的字体内容
- Docker创建centos的nginx_php镜像
- 如何将ubuntu系统的man帮助页面设置成中文版
- java线程池
- Tesseract-OCR识别图片验证码
- JS初级实战练习题----附答案
- 集合类 数组 Map set queue List