安卓Android TabLayout + ViewPager 页面切换, 并修改TabLayout下划线宽度

这次依然是介绍一个功能类:TabPagerManager

这个类封装了TabLayout 和 ViewPager

只需要非常简单的 3~4行代码 就搞定了 TabLayout+ViewPager 适配等功能的开发

这里还是先给出GitHub开源地址:点这里

下面是详细描述~

准备工作:

准备工作当然是先把TabLayout和ViewPager初始化啦~

一般都是:

tabLayout = findViewById(你的tabLayout id);
viewPager = findViewById(你的ViewPager id);

 

接下来就是具体使用了

 

Step 1. 下载 TabPagerManager.java

GitHub项目地址:点这里    下载:点这里

下载完成后将其复制到自己的安卓项目中

 

Step 2. 使用

 

1. 一般用法

TabPagerManager.with(fragmentManager)
               .setTabPager(tabLayout, viewPager)
               .add("tabName_1", new Fragment())
               .add("tabName_2", new Fragment())
               .commit();

解释一下上面的函数:

with:传入一个FragmentManager

setTabPager:把你的TabLayout和ViewPager传进去就可以了

add:第一个参数是你的tab标题,第二个参数是该标题对应ViewPager里的fragment

commit:在设置完所有后调用它整个才会生效

关于 FragmentManager,这里需要注意一下:

(1)如果是在Activity里,使用 getSupportFragmentManager() 方法

(2)如果是在Fragment里,使用 getChildFragmentManager() 方法

 

2. 更多

(1)设置Tab下划线宽度

一共有三种模式:

EQUAL_TEXT (默认为此模式)

安卓Android TabLayout + ViewPager 页面切换, 并修改TabLayout下划线宽度_第1张图片

EQUAL_TAB_CENTER

安卓Android TabLayout + ViewPager 页面切换, 并修改TabLayout下划线宽度_第2张图片

EQUAL_TAB_FILL

安卓Android TabLayout + ViewPager 页面切换, 并修改TabLayout下划线宽度_第3张图片

使用方式如下:

TabPagerManager.with(fragmentManager)
               .setTabPager(tabLayout, viewPager)
               .add("tabName_1", new Fragment())
               .add("tabName_2", new Fragment())
               .setIndicatorLineMode(TabPagerManager.EQUAL_TAB_FILL)
               .commit();

(2)设置tab间距

这个只在 EQUAL_TEXT 模式下生效,默认间距为20

使用:

TabPagerManager.with(getChildFragmentManager())
               .setTabPager(tabLayout, viewPager)
               .add("Tab_1", new ChineseComicSubFragment())
               .add("Tab_2", new JapaneseComicSubFragment())
               .setIndicatorLineMode(TabPagerManager.EQUAL_TEXT)
               .setTabInterval(30)
               .commit();

(3)设置初始选中的Tab

只需使用函数:

add(String tabTitle, Fragment fragment, Boolean isSelected)

例如:

TabPagerManager.with(fragmentManager)
               .setTabPager(tabLayout, viewPager)
               .add("关注", new Fragment())
               .add("热门", new Fragment(), true)
               .commit();

(4)使用TabLayout和ViewPager的原始函数

这个很简单,只需要在初始的时候先自定义好自己的tabLayout和viewPager,之后再传入TabPagerManger中就行了.

例如在获取tabLayout的ID后,先对tabLayout设置下划线颜色、字体颜色等等,然后再使用:

TabPagerManager.with(fragmentManager)
               .setTabPager(tabLayout, viewPager)
               .add("tabName_1", new Fragment())
               .commit();

就行了

你可能感兴趣的:(Android)