TabPager的封装

TabPager


jCenter Fragment Fragment

TabPager不仅集成了TabLayoutViewPager为顶部选项卡页面,也集成了RadioGroupViewPager为底部导航栏页面,还封装了根据具体页面根据不同的加载状态而显示不同页面的功能,也可以自定义这些页面和其他一些属性。如果某个页面加载数据不成功,切换到其他页面再回来时,框架会自动调用重试加载功能;如果加载成功了,则不再重试加载。

运行效果

  • 屏幕截图(gif录制卡顿,实际运行流畅):

ScreenShot

  • Demo下载体验,TabPager ,或者扫描二维码下载

    ScreenShot

依赖

dependencies {
  //1.0.3版本之前,不含底部导航栏
  compile 'com.yhy:tpg:latestVersion'

  //1.0.5版本及之后,加入了底部导航栏
  compile 'com.yhy.widget:tabnav:latestVersion'
}

使用说明

顶部选项卡页面控件TpgView
底部导航栏页面控件NavView

嵌套使用

嵌套使用使用方法跟普通使用一样,唯一需要注意的是创建适配器时的FragmentManager,如果是一级Fragment的话,需要传入getSupportFragmentManager(),否则只能是getChildFragmentManager()

//mAdapter = new PagersAdapter(getFragmentManager());
/*
//这里需要用getChildFragmentManager()

getChildFragmentManager()是fragment中的方法, 返回的是管理当前fragment内部子fragments的manager.
getFragmentManager()在activity和fragment中都有.
在activity中, 如果用的是v4 support库, 方法应该用getSupportFragmentManager(),返回的是管理activity中fragments的manager.
在fragment中, 还叫getFragmentManager(), 返回的是把自己加进来的那个manager.
也即, 如果fragment在activity中, fragment.getFragmentManager()得到的是activity中管理fragments的那个manager.如果fragment是嵌套在另一个fragment中, fragment.getFragmentManager()得到的是它的parent的getChildFragmentManager().
总结就是: getFragmentManager()是本级别管理者, getChildFragmentManager()是下一级别管理者.
这实际上是一个树形管理结构.
*/
mAdapter = new PagersAdapter(getChildFragmentManager());
tpgView.setAdapter(mAdapter);

GItHub

句终

哈哈。。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值