让tablayout中的Tab平铺:在tablayout布局中写:

  1. app:tabMaxWidth="0dp"
    app:tabGravity="fill"
    app:tabMode="fixed"

这是要放TabLayout的Fragment:

  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. android:orientation="vertical"
  3. xmlns:app="http://schemas.android.com/apk/res-auto"
  4. android:layout_width="match_parent"
  5. android:layout_height="match_parent">
  6. <android.support.design.widget.TabLayout
  7. android:id="@+id/tl"
  8. android:layout_width="match_parent"
  9. android:layout_height="wrap_content"
  10. app:tabIndicatorColor="#FF00FF00"
  11. app:tabSelectedTextColor="#FF00FF00"
  12. app:tabTextColor="#FF000000"
  13. app:tabMode="scrollable"
  14. app:tabGravity="center"/>
  15.  
  16. <android.support.v4.view.ViewPager
  17. android:id="@+id/viewpager"
  18. android:layout_width="match_parent"
  19. android:layout_height="wrap_content"/>
  20. </LinearLayout>
  21.  
  22. 这是Fragment:
  1. public class ZhuyeMyFragment extends Fragment{
  2. private String[] mTitle = new String[4];
  3. private String[] mData = new String[4];
  4.  
  5. {
  6. for(int i=0;i<4;i++) {
  7. mTitle[i] = "title" + i;
  8. mData[i] = "data" + i;
  9. }
  10. }
  11. TabLayout mTabLayout ;
  12. ViewPager mViewPager ;
  13. FragmentPagerAdapter mAdapter;
  14. Zhuti zt;
  15. Zuixin zx;
  16. Zl zl;
  17. Rm rm;
  18. ArrayList<Fragment> flist;
  19. @Nullable
  20. @Override
  21. public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
  22. View view=inflater.inflate(R.layout.zhuye_layout,null);
  23. mTabLayout = (TabLayout)view.findViewById(R.id.tl);
  24. mViewPager = (ViewPager)view.findViewById(R.id.viewpager);
  25. FragmentManager man = getActivity().getSupportFragmentManager();
  26. initFragment();
  27. flist=new ArrayList<Fragment>();
  28. flist.add(zx);
  29. flist.add(zl);
  30. flist.add(rm);
  31. flist.add(zt);
  32. mTabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
  33. @Override
  34. public void onTabSelected(TabLayout.Tab tab) {
  35. mViewPager.setCurrentItem(tab.getPosition());
  36. }
  37.  
  38. @Override
  39. public void onTabUnselected(TabLayout.Tab tab) {
  40.  
  41. }
  42.  
  43. @Override
  44. public void onTabReselected(TabLayout.Tab tab) {
  45.  
  46. }
  47. });
  48. final TabLayout.TabLayoutOnPageChangeListener listener =
  49. new TabLayout.TabLayoutOnPageChangeListener(mTabLayout);
  50. mViewPager.addOnPageChangeListener(listener);
  51. mAdapter= new FragmentAdapter(man,flist);
  52. mViewPager.setAdapter(mAdapter);
  53. mTabLayout.setTabsFromPagerAdapter(mAdapter);
  54. return view;
  55. }
  56.  
  57. private void initFragment() {
  58. zt=new Zhuti();
  59. zx=new Zuixin();
  60. zl=new Zl();
  61. rm=new Rm();
  62. }
  63. }
    这是FragmentAdapter
  1. public class FragmentAdapter extends FragmentPagerAdapter {
  2.  
  3. private String [] title = {"最新日报","热门","专栏","主题日报"};
  4. private List<Fragment> fragmentList;
  5. public FragmentAdapter(FragmentManager fm, List<Fragment> fragmentList) {
  6. super(fm);
  7. this.fragmentList = fragmentList;
  8. }
  9. @Override
  10. public Fragment getItem(int position) {
  11. return fragmentList.get(position);
  12. }
  13. @Override
  14. public int getCount() {
  15. return fragmentList.size();
  16. }
  17. @Override
  18. public CharSequence getPageTitle(int position) {
  19. return title[position];
  20. }
  21. }
  1.  
  1.  

Fragment中TabLayout加FragmentViewPager的更多相关文章

  1. Data binding 在Activity,Fragment中引用以及加载其他布局

    Data binding在Activity中使用: DataBindingUtil.setContentView(this, R.layout.activity_home); Data binding ...

  2. 关于TabLayout与ViewPager在Fragment中嵌套Fragment使用或配合使用的思考

    注意: 因为继承的是Fragment,所以getSupportFragmentManager()与getFragmentManager()方法无法使用,这里需要用到getChildFragmentMa ...

  3. 在Fragment中加一个嵌套了ListView的ScrollView(一)

    首先介绍一下这个程序的功能: 1.顶部有两个可以切换Fragment的Button 2.在其中一个Fragment中里有个ScrollView,ScrollView中有ViewFlipper,List ...

  4. ViewPager+Fragment取消预加载(延迟加载)(转)

    原文:http://www.2cto.com/kf/201501/368954.html 在项目中,都或多或少地使用的Tab布局,所以大都会用到ViewPager+Fragment,但是Fragmen ...

  5. Android Fragment使用(四) Toolbar使用及Fragment中的Toolbar处理

    Toolbar作为ActionBar使用介绍 本文介绍了在Android中将Toolbar作为ActionBar使用的方法. 并且介绍了在Fragment和嵌套Fragment中使用Toolbar作为 ...

  6. Andriod开发技巧——Fragment的懒加载

    我们在做应用开发的时候,一个Activity里面可能会以viewpager(或其他容器)与多个Fragment来组合使用,而如果每个 fragment都需要去加载数据,或从本地加载,或从网络加载,那么 ...

  7. Android ViewPager Fragment使用懒加载提升性能

     Android ViewPager Fragment使用懒加载提升性能 Fragment在如今的Android开发中越来越普遍,但是当ViewPager结合Fragment时候,由于Androi ...

  8. Fragment的懒加载

    我们在做应用开发的时候,一个Activity里面可能会以viewpager(或其他容器)与多个Fragment来组合使用,而如果每个fragment都需要去加载数据,或从本地加载,或从网络加载,那么在 ...

  9. ViewPager+Fragment取消预加载(延迟加载)

    在项目中,都或多或少地使用的Tab布局,所以大都会用到ViewPager+Fragment,但是Fragment有个不好或者太好的地方.例如你在ViewPager中添加了三个Fragment,当加载V ...

随机推荐

  1. OpenStack—nova组件计算服务

    nova介绍: Nova 是 OpenStack 最核心的服务,负责维护和管理云环境的计算资源.OpenStack 作为 IaaS 的云操作系统,虚拟机生命周期管理也就是通过 Nova 来实现的. 用 ...

  2. 图的最小环floyed

    最优的路线 问题描述 学校里面有N个景点.两个景点之间可能直接有道路相连,用Dist[I,J]表示它的长度:否则它们之间没有直接的道路相连.这里所说的道路是没有规定方向的,也就是说,如果从I到J有直接 ...

  3. skopeo---github简单记录

    新的redhat 8已默认不集成docker,而是使用podman了. podman和skopeo和buildah,cri-o一起,组成了新一代的容器四大天王. 花时时间了解下,是值得的. skope ...

  4. Javascript数据结构与算法--栈的实现与用法

    栈数据结构 栈是一种遵从后进先出(LIFO)原则的有序集合.新添加的或者待删除的元素都保存在栈的同一端,称作栈顶,另一端就叫栈底.在栈里,新元素都靠近栈顶,旧元素都接近栈底. 我们在生活中常能看到栈的 ...

  5. AngualrJS之自定义指令

    一.指令 指令directive是AngularJS的核心之一 包括 - 用于扩展HTML元素.属性的指令 - 执行特定功能的指令 - 自定义指令 内置指令基本上都是以ng-开头 二.内置指令 1.属 ...

  6. sql server managerment 给表加说明

    右击表 =>点属性  =>扩展属性 =>加 MS_Description

  7. json格式new Date()的一个小坑

    见图:JSON.stringify( new Date(Date.parse('xxxx-xx-xx'))) 若是传的日期,在10号前,要进行转换.

  8. 1064 Financial Management

    http://acm.hdu.edu.cn/showproblem.php?pid=1064 思路:看懂英文就很简单,就是12个数相加求平均数就ok了. 扩展: C++ 标准输入输出流的控制符 #in ...

  9. patch 请求时,关于id的报错问题

    在更新操作时,先显示要更新的数据内容,再修改 在发送patch请求时出现 After applying the update to the document {_id: ObjectId('55be3 ...

  10. 从零开始构建一个centos+jdk7+tomcat7的docker镜像文件

    从零开始构建一个centos+jdk7+tomcat7的镜像文件 centos7系统下docker运行环境的搭建 准备centos基础镜像 docker pull centos 或者直接下载我准备好的 ...