TabLayout简单实用

TabLayout是design库提供的控件,可以方便的使用指示器,使用非常方便,Android Studio只需要在gradle中引入即可使用 .

TabLayout即可以单独使用,也可以配合ViewPager来使用.
今天咱们说一下Tablayout配合ViewPager如何使用

1.首先导入依赖
在这里插入图片描述
2.布局标签适应全路径的TabLayout
.在这里插入图片描述
3.设置存放标题的集合 和 fargment集合
在这里插入图片描述
4.添加标题和页面
在这里插入图片描述在这里插入图片描述
5.设置适配器
在这里插入图片描述
6.把Tablayout和ViewPager关联
在这里插入图片描述
7.Tablayout的常用属性

	1.改变选中字体的颜色
	app:tabSelectedTextColor="@android:color/holo_orange_light"
	2.改变未选中字体的颜色
	app:tabTextColor="@color/colorPrimary"
	3.改变指示器下标的颜色
	app:tabIndicatorColor="@null"---没有指示器
	app:tabIndicatorColor="@android:color/holo_orange_light"
	4.改变整个TabLayout的颜色
	app:tabBackground="color"
	5.内容的显示模式
	app:tabGravity="center"//居中,如果是fill,则是充满
	6.好像没有直接变大的方法,可是找到了这个:
	app:tabTextAppearance="@android:style/TextAppearance.Holo.Large"//设置文字的外貌
	7.设置指示器下标的高度:
	app:tabIndicatorHeight="4dp"
	8.有时候Tab只有文字感觉有点单调了:添加图标
	tabLayout.addTab(tabLayout.newTab().setText("Tab 1").setIcon(R.mipmap.ic_launcher));
public class Frag_01 extends Fragment {

    private ViewPager viewPager;
    //fragment集合
    ArrayList<Fragment> fragmentList = new ArrayList<Fragment>();
    
    //标题集合
    ArrayList<String> titleList = new ArrayList<String>();
    
    private Frag_04 frag_04;
    private Frag_05 frag_05;
    private Frag_06 frag_06;
    private TabLayout tab;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

        View view = inflater.inflate(R.layout.frag_01,container,false);

        //找控件
        tab = view.findViewById(R.id.table);
        viewPager = view.findViewById(R.id.viewpager);

        //添加title
        titleList.add("大鸟");
        titleList.add("小鸟");
        titleList.add("大鸟");

        //实例化fragment
        frag_04 = new Frag_04();
        frag_05 = new Frag_05();
        frag_06 = new Frag_06();

        //添加fragment
        fragmentList.add(frag_04);
        fragmentList.add(frag_05);
        fragmentList.add(frag_06);

        //设置适配器
        MPagerAdapter mPagerAdapter = new MPagerAdapter(getChildFragmentManager());
        viewPager.setAdapter(mPagerAdapter);

        //关联
        tab.setupWithViewPager(viewPager);

        return view;

    }

    //适配器
    private class MPagerAdapter extends FragmentPagerAdapter {


        public MPagerAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int position) {
            return fragmentList.get(position);
        }

        @Override
        public int getCount() {
            return fragmentList.size();
        }


        @Override
        public CharSequence getPageTitle(int position) {

            return titleList.get(position);
        }
    }
}

猜你喜欢

转载自blog.csdn.net/CXiaoLiu/article/details/84973763