TabLayout

来源:互联网 发布:看电视直播软件 编辑:程序博客网 时间:2024/06/05 14:36

TabLayout

2017/10/18 9:06:05


添加依赖

compile 'com.android.support:design:26.0.0-alpha1'

属性 ##

使用之前注意添加

xmlns:app="http://schemas.android.com/apk/res-auto"
  • app:tabSelectedTextColor : Tab被选中字体的颜色
  • app:tabTextColor : Tab未被选中字体的颜色
  • app:tabIndicatorColor : Tab指示器下标的颜色
  • app:tabBackground : 整个Tab的颜色
  • app:tabTextAppearance : 改变字体样式
  • app:tabIndicatorHeight : 指示器小标的高度
  • app:tabMode : 模式 默认 fixed 固定 scrollable 可以滑动
  • app:tabGravity : 内容显示模式
  • app:tabMaxWidth :最大宽度
  • app:tabMinWidth :最小宽度
  • app:tabContentStart : 开始位置的偏移量

使用方式

1

在TabLayout布局文件中添加TabItem
  • 效果

  • 布局文件代码

2

在代码中添加
  • 效果

  • 代码

    //查找控件tab_layout = (TabLayout) findViewById(R.id.tab_layout);//添加tabtab_layout.addTab(tab_layout.newTab().setText("国际"));tab_layout.addTab(tab_layout.newTab().setText("国内"));tab_layout.addTab(tab_layout.newTab().setText("娱乐"));tab_layout.addTab(tab_layout.newTab().setText("电影"));tab_layout.addTab(tab_layout.newTab().setText("音乐"));tab_layout.addTab(tab_layout.newTab().setText("图片"));tab_layout.addTab(tab_layout.newTab().setText("游戏"));tab_layout.addTab(tab_layout.newTab().setText("出行"));

添加图标

  • 效果

  • 代码

    tab_layout.addTab(tab_layout.newTab().setText("国际").setIcon(R.drawable.test));tab_layout.addTab(tab_layout.newTab().setText("国内").setIcon(R.drawable.test));tab_layout.addTab(tab_layout.newTab().setText("娱乐").setIcon(R.drawable.test));tab_layout.addTab(tab_layout.newTab().setText("电影").setIcon(R.drawable.test));tab_layout.addTab(tab_layout.newTab().setText("音乐").setIcon(R.drawable.test));tab_layout.addTab(tab_layout.newTab().setText("图片").setIcon(R.drawable.test));tab_layout.addTab(tab_layout.newTab().setText("游戏").setIcon(R.drawable.test));tab_layout.addTab(tab_layout.newTab().setText("出行").setIcon(R.drawable.test));

TabLayout + ViewPager + Fragment

效果

代码

    //集合存入标题    list.add("关注");    list.add("推荐");    list.add("热点");    list.add("汽车");    list.add("科技");    list.add("视频");    list.add("数码");    //设置适配器    view_pager.setAdapter(new FragmentPagerAdapter(getChildFragmentManager()) {        /**         * 标题         * @param position         * @return         */        @Override        public CharSequence getPageTitle(int position) {            return list.get(position);        }        /**         * 返回对应的Fragment         * @param position         * @return         */        @Override        public Fragment getItem(int position) {            Fragment fragment = null;            switch (position) {                case 0:                    fragment = new Fragment_0();                    break;                case 1:                    fragment = new Fragment_1();                    break;                case 2:                    fragment = new Fragment_2();                    break;                case 3:                    fragment = new Fragment_3();                    break;                case 4:                    fragment = new Fragment_4();                    break;                case 5:                    fragment = new Fragment_5();                    break;                case 6:                    fragment = new Fragment_6();                    break;                default:                    break;            }            return fragment;        }        /**         * 条目数         * @return         */        @Override        public int getCount() {            return list.size();        }    });    //关联    tab_layout.setupWithViewPager(view_pager);