TabLayout 源码分析

tablayout的使用方法此处略,可以查看这个博客:https://www.jianshu.com/p/fde38f367019

tablayout的viewpager.setAdapter(adapter)方法执行中重要节点:

onAdapterChange(this, oldAdpter, adapter)

->setPageAdapter(adapter, addObserver)

->populateFromPagerAdapter()这个方法会创建tab,并改用viewpager的title,并且这个方法中会设置selector.

所以,如果使用了setAdapter就可以不用使用newTab()方法创建tab对象了。

 

设置自定义tabView:

addTab(newTab().setCustomView(customView));

setupWithViewPager()通常用来初始化相关listener,包括addTabSelectListener、adapterChangeListener、mPageChangeListener等。

如果不想通过setadapter导致又重新创建一次tabLayout,可以设置adapterChangeLister为null。

你可能感兴趣的:(安卓)