前言
主流的安卓APP,首页经常会采用底部导航栏切换的效果。针对这种情况,封装成TabView工具类,方便大家使用。
一、界面分析
上图的效果,我们可以判断出界面是由viewpager+fragment+底部Tab实现。
二、开始撸码
只贴出了核心代码,具体请查看我的GitHub,记得点颗✨哦!
1. 实现底部的Tab,自定义TabContainerView 继承 RelativeLayout,这是我们最终封装的View工具类。其内部主要由viewpager和底部的TabHost类组成。
ViewPager初始化
contentViewPager = new ViewPager(context);
LayoutParams contentVpLp = new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
contentVpLp.addRule(RelativeLayout.ABOVE, R.id.divide_tab);
contentViewPager.setLayoutParams(contentVpLp);
contentViewPager.setId(R.id.viewpager_tab);
contentViewPager.addOnPageChangeListener(new ViewPager.OnPag