用处:TabLayout提供了一个水平的布局用来展示Tabs(一些标签)。
用处:ViewPager具有滚动功能。
固定模式使用步骤:
1. 在应用的Build.gradle中添加support.design支持库。注意:必须和v7包的版本相同。比如compile 'com.android.support:design:23.2.1'。
2. 在布局文件中添加TabLayout及ViewPager。因为这两个控件属于第三方库,因此需要完整路径名,分别是android.support.design.widget.TabLayout,android.support.v4.view.ViewPager。
为这两个控件添加各种属性。TabLayout: android有id,layout_width,layout_height,background。app有tabGravity,tabMode,tabIndicatorColor,tabSelectedTextColortabTextColor。ViewPager: id, layout_width, layout_height, layout_weight。
3. 定义一个FragmentFactivity的Fragment工厂类,专门生产Fragment对象
4. 在主活动初始化各个控件,在主活动中将各个碎片放入数组中去
5. 预加载。mViewPager.setOffscreenPageLimit(mFragment.size());
6. 设置适配器
mViewPager.setAdapter(newFragmentPagerAdapter(getSupportFragmentManager()) {
@Override
public Fragment getItem(int position){
return mFragment.get(position);
}
@Override
public int getCount() {
return mFragment.size();
}
//设置标题
@Override
public CharSequence getPageTitle(int position){
return title.get(position);
}
});
1. 设置滑动监听
2. mViewPager.addOnPageChangeListener(newViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position,float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position){
if(position==0){
fab_setting.setVisibility(View.GONE);
}else {
fab_setting.setVisibility(View.VISIBLE);
}
}
@Override
public void onPageScrollStateChanged(intstate) {
}
});
3. 绑定。mTabLayout.setupWithViewPager(mViewPager);
TabLayout常用属性介绍
1. 改变选中字体的颜色。app:tabSelectedTextColor
2. 改变未选中字体的颜色。app:tabTextColor
3. 改变指示器下标的颜色。app:tabIndicatorColor
4. 改变整个TabLayout的颜色。app:tabBackground
5. 设置指示器下标的高度。app:tabIndicatorHeight
6. 添加图标。tabLayout.addTab(tabLayout.newTab().setText("Tab1").setIcon(R.mipmap.ic_launcher));
7. Tab的模式。app:tabMode