TabLayout 项目中简单使用小结
先来张效果图:
先来个依赖搞一下事情:
implementation 'com.android.support:design:28.0.0'
废话不多说上布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".SecurityActivity">
<include
android:id="@+id/security_state_bar"
layout="@layout/status_bar_layout"></include>
<RelativeLayout
android:id="@+id/rl_security_title"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_40"
android:layout_below="@+id/security_state_bar"
android:background="#1d9b93">
<android.support.design.widget.TabLayout
android:id="@+id/security_tab"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_45"
android:layout_below="@+id/rl_security_title"
android:background="#fff"
app:tabIndicatorColor="@color/colorTitle"
app:tabTextColor="@color/colorTitle">
</android.support.design.widget.TabLayout>
<android.support.v4.view.ViewPager
android:id="@+id/security_vp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/security_tab">
</android.support.v4.view.ViewPager>
</RelativeLayout>
Activity中的代码:
- 新建两个集合一个存Tablayout的标题,一个存相对应的Fragment
- 给ViewPager设置适配器
- Tablayout与Viewpager相关联
是不是想骂人感觉说一堆废话:
淡定淡定代码马上出来(开个小玩笑啦,比较写代码还是很枯燥滴)
两个集合
List<Fragment> fragmentList = new ArrayList<>(); //fragmentList对应Tablayout下面切换的页面
List<String> titleList = new ArrayList<>(); //titleList对应Tablayout的标题
设置ViewPager适配器
//解决滑动卡顿问题
viewPager.setOffscreenPageLimit(6);(确实可以解决一些卡顿问题但是不知道为啥 嘿嘿大家可以自己百度一下)
viewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
@Override
public Fragment getItem(int i) {
return fragmentList.get(i);
}
@Override
public int getCount() {
return fragmentList.size();
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return titleList.get(position);
}
});
Tablayout与Viewpager相关联
tabLayout.setupWithViewPager(viewPager);
到这里就可以实现基本的功能如果大家想要一些骚操作自行百度啦