Android学习整理-2-TabLayout的学习

Android学习整理 - 系列


Design Library -- TabLayout的用法

TabLayout

  • TabLayout提供了一个水平的布局用来展示Tabs

  • 可以实现与ViewPager联动(实现效果类似ViewPagerIndicator,不过ViewPagerIndicator,TabLayout各有各的优点,如果是单纯的联动推荐使用TabLayout)

使用注意

  1. Theme要求

Caused by: java.lang.IllegalArgumentException: You need to use a Theme.AppCompat theme (or descendant) with the design library.

在清单文件中设置如下代码即可:

android:theme="@style/Theme.AppCompat"

  1. 重写TabFragmentAdapter中的getPageTitle方法,如果忘记重写会导致联动Viewpager后没有title
@Override
  public CharSequence getPageTitle(int position) {
      return mTitles.get(position);
  }
  1. 在Tab选中的时候,设置ViewPager的联动:

viewpager.setCurrentItem(tab.getPosition());

  • 在TabLayout的监听里面,onTabSelected方法里

使用说明

只实现滚动列表
  • 用资源文件或者code,不连动
滚动并联动
  • 资源文件或代码addtab
  • ViewPager + Fragment
  • FragmentAdapter或者FragmentStateAdapter并且要手动实现getPageTitle(int position)方法

基本的使用与属性详解

Design库-TabLayout属性详解

TabLayout仿京东商品详情Tab

  • 这篇文章有详细的与联动实现,并且有每一个页面的Fragment写法,每个title-item的自定义Tab样式(因为TabLayout的Tab选择时,字体比未选中大了一号,自带的Api中tabTextAppearance(文字样式)已经不能满足)

从TabLayout源码告诉你使用它的正确姿势,让你马上爱上它

  • 一个很详细的测试项目
注:本地测试项目是地址在E:\workspace\as20160914\TabLayoutLearning
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容