摘要:六部实现选项卡界面

一.

在gradle文件添加以下代码:

implementation 'com.android.support:design:28.0.0'

在gradle文件添加以上代码后,才能使用Tablayout(版本号28.0.0是我做实验时最新的版本)

二.布局代码

<android.support.design.widget.TabLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"app:tabMaxWidth="0dp"app:tabGravity="fill"app:tabMode="fixed"android:id="@+id/tablayout_id"android:textAlignment="center"app:tabSelectedTextColor="@color/tabindicatorcolor"app:tabTextColor="@color/tabtextcolor"app:tabIndicatorColor="@color/tabindicatorcolor"android:background="@color/colorPrimary"/><android.support.v4.view.ViewPagerandroid:layout_width="match_parent"android:layout_height="match_parent"android:id="@+id/viewpager_id"></android.support.v4.view.ViewPager>

三.在res/layout目录下自定义xml文件作为fragment中的选项界面

  action_fragment.xml和mark_fragment.xml分别为"行动","统计"选项卡界面

四.新建多个继承Fragment的子类返回选项界面

FragmentAction.java
public class FramentAction extends Fragment {public FramentAction() {}@Nullable@Overridepublic View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {View view=inflater.inflate(R.layout.action_fragment,container,false);return view;}
}

FragmentMark.java

public class FragmentMark extends Fragment {public FragmentMark() {}@Nullable@Overridepublic View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {View view=inflater.inflate(R.layout.mark_fragment,container,false);return view;}}

五.自定义继承FragmentPagerAdapter的子类ViewPagerAdater,重写getItem(),getCount(),getPageTitle()方法,添加AddFragment()方法

public class ViewPagerAdaper extends FragmentPagerAdapter {private final List<Fragment> fragmentList=new ArrayList<>();private final List<String> fragementListTitle=new ArrayList<>();public ViewPagerAdaper(FragmentManager fm) {super(fm);}@Overridepublic Fragment getItem(int i) {return fragmentList.get(i);}@Overridepublic int getCount() {return fragementListTitle.size();}@Nullable@Overridepublic CharSequence getPageTitle(int position) {return fragementListTitle.get(position);}public void AddFragemnt(Fragment fragment,String title){fragmentList.add(fragment);fragementListTitle.add(title);}
}

六.在MainActivity.java中实现以下代码:

     tabLayout=findViewById(R.id.tablayout_id);viewPager=findViewById(R.id.viewpager_id);ViewPagerAdaper mAdaper=new ViewPagerAdaper(getSupportFragmentManager());mAdaper.AddFragemnt(new FramentAction(),"行动");mAdaper.AddFragemnt(new FragmentMark(),"统计");viewPager.setAdapter(mAdaper);tabLayout.setupWithViewPager(viewPager);

转载于:https://www.cnblogs.com/adressian/p/10224342.html

安卓界面之Viewpager和Tablayout实现滑动界面相关推荐

  1. 安卓界面之Toolbar上手

    一.在配置文件采用自定义Style方法去除Actionbar <resources><style name="MyTheme" parent="Them ...

  2. TabLayout+ViewPager实现选项卡动态滑动效果

    1. 前提准备 今天回顾了下TabLayout与ViewPager的联合使用,顺便写个demo来加深下理解.首先要明确TabLayout是design下的,并非系统原来的widget下的.所以首先在a ...

  3. TabLayout横排滑动

    我以前有写过Tablayout横排滑动,不过相对有些幼稚,而且跟不上一些节奏了. 这个tablayout适合你滑动的相同布局不同数据的那种 像你如果tablayout滑动的每个页面差距特别的大这个就不 ...

  4. 哪个版本android优化触屏,安卓界最强优化工具超级触控,终于更新了全新体验...

    原标题:安卓界最强优化工具超级触控,终于更新了全新体验 安卓用户对于"系统优化"这个词一定不会陌生,因为Android系统越用越卡的毛病难以解决,必须进行优化才能保持流畅.那么如何 ...

  5. android之ViewPager与TabLayout

    使用 TabLayout 很容易实现选项卡的功能.这里将结合 ViewPager.Fragment.TabLayout实现一个具有选项卡功能的程序.本例再上篇讲解的ViewPager与Fragment ...

  6. Android实战简易教程-第三十四枪(基于ViewPager和FragmentPagerAdapter实现滑动通用Tab)...

    上一段时间写过一篇文章<基于ViewPager实现微信页面切换效果> 里面实现了相似微信Tab的页面.可是这样的实现方法有个问题.就是以后全部的代码逻辑都必须在MainActivity中实 ...

  7. android 事件拦截 (Viewpager不可以左右滑动)

    以前没有做过真正的需求,所以从来没有觉得事件拦截分发处理有什么好懂的. 现在做需求了,真的是什么需求都有,你作为开发都要去研究实现.比如说,只能点不能滑动的viewpager.其实这都可以不用view ...

  8. android view禁用,Android 禁止ViewPager的自带滑动效果

    由于最近在做墨水屏的相关工作,ViewPager自带的滑动效果在墨水屏上表现的很不好,残影太重了.所以禁止自带的滑动效果,用接口来接管相关逻辑实现自处理. import android.content ...

  9. Android使用ViewPager实现左右循环滑动及轮播效果

    ViewPager是一个常用的android组件,不过通常我们使用ViewPager的时候不能实现左右无限循环滑动,在滑到边界的时候会看到一个不能翻页的动画,可能影响用户体验.此外,某些区域性的Vie ...

最新文章

  1. UA MATH575B 数值分析下 统计物理的随机模拟方法5
  2. Vuex 源码还有一些缺陷?
  3. Wireshark图解教程
  4. 微信小程序怎么取mysql_微信小程序如何加载数据库真实数据?
  5. 【2017年第4期】大数据平台的基础能力和性能测试
  6. 详解MathType中如何插入特殊符号
  7. python pyqt教程_『开发技巧』PyQt5入门教程
  8. wordpress页面里可不可以写php,如何在WordPress页面中创建不同的可编辑部分?
  9. vue项目电商后台管理系统(一)
  10. 工业相机的50个知识点
  11. 2021年饶州中学高考成绩查询,鄱阳饶州中学2019高考成绩喜报、一本二本上线人数情况...
  12. 【工作感悟】职场工作感悟(一)
  13. Pdf 插入图片 | 指定位置插入图片 不改变原格式 直接操作
  14. matlab中contourm,MATLAB 中contour函数的使用
  15. 30天自制操作系统——第四天使用C语言制作操作系统进度条
  16. python批量处理1000+的excel文件
  17. python读取json文件转成excel_Python实现读取json文件到excel表
  18. elm and halogen
  19. 洛谷:P2832 行路难(堆优化Dijkstra(错解)bfs(正解) + 记录路径)
  20. 企业打造顶级研究院的最优路径是什么?

热门文章

  1. powershell电脑加域退域
  2. Spark 安装配置简单测试
  3. 基于Linux C的socketEthereal程序和Package分析 (一个)
  4. 链接写不到txt文件该怎么办呢
  5. 直男对于产品经理的思考
  6. 作为利物浦大学和西浦的学生的职业机会发展平台!很重要!
  7. 【转】arm和x86的区别
  8. 数据科学家十年后彻底消失?25年行业元老:无稽之谈!
  9. Js判断下拉框是否为空值
  10. ArcGIS 10.3 for Server新特性介绍