TabLayout的使用

1人阅读 评论(0) 收藏 举报
分类:

1.项目中遇到了需要TabLayout+ViewPager实现切换tab联动的效果,因为需要改变tab的宽度,而design包里的tabLayout默认是不能改变的,所以需要自己定义一个。

2.自定义XTabLayout,介绍一下属性的作用

 <com.yhy.view.widget.tablayout.XTabLayout
            android:id="@+id/tablayout"
            android:layout_weight="1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@color/p_248_248_248"
            app:xTabIndicatorHeight="0dp"   //移动游标的高度,设置为0就是不显示游标
            app:xTabIndicatorColor="@color/appthemecolor"  //设置移动游标的颜色
            app:xTabMode="scrollable" //设置tablayout的展示模式,两种 1.fixed是全屏显示不可滚动  2.可以滑动显示
            app:xTabTextSize="15sp"  //设置tab的字体大小
            app:xTabPadding="5dp"   //设置两个tab之前的间距
            app:xTabMaxWidth="200dp"   //设置tab的最大宽度
            app:xTabMinWidth="48dp"   //设置tab的最小宽度
            app:xTabSelectedTextSize="17sp"  //设置tab选中的字体大小
            app:xTabSelectedTextColor="@color/appthemecolor"//设置tab选中的字体颜色
            app:xTabTextColor="@color/p_170_170_170">  //设置tab默认的字体颜色
        </com.yhy.view.widget.tablayout.XTabLayout>

3.如果默认的tabLayout的tab样式不能够满足开发需要,我们也是可以自定义的,具体方式:
 XTabLayout.Tab tab = tabLayout.getTabAt(i);//获得每一个tab
            tab.setCustomView(R.layout.tab_item);//给每一个tab设置view
            if (i == 0) {
                // 设置第一个tab的TextView是被选择的样式
                tab.getCustomView().findViewById(R.id.tab_item).setSelected(true);//第一个tab被选中
            }
            TextView textView = (TextView) tab.getCustomView().findViewById(R.id.tab_title);
            textView.setText(titles[i]);//设置tab上的文字

4.监听

 tabLayout.setOnTabSelectedListener(new XTabLayout.OnTabSelectedListener() {
            @Override
            public void onTabSelected(XTabLayout.Tab tab) {
                tab.getCustomView().findViewById(R.id.tab_item).setSelected(true);
                viewPager.setCurrentItem(tab.getPosition());
            }

            @Override
            public void onTabUnselected(XTabLayout.Tab tab) {
                tab.getCustomView().findViewById(R.id.tab_item).setSelected(false);
            }

            @Override
            public void onTabReselected(XTabLayout.Tab tab) {

            }
        });
5.demo源码点击打开链接 https://download.csdn.net/download/yhy123456q/10354972
查看评论

Android开发之TabLayout组件的使用

5.0新组件TabLayout TabLayout提供了一个水平布局来显示选项卡。 要显示的选项卡的人口数是通过TabLayout.Tab实例完成的。 您可以通过newTab()创建选项卡...
  • z_x_Qiang
  • z_x_Qiang
  • 2017-07-15 13:47:52
  • 313

eclipse 开发 android 使用 tabLayout报错如何解决

写在前面的:我不知道现在开发Android 还有多少公司在使用eclipse ,虽然不想用,但公司要求你又有什么办法呢?能让使用android studio是最好了。 使用用tabLayout 就...
  • Hu_wenpeng
  • Hu_wenpeng
  • 2017-05-26 22:52:31
  • 694

在eclipse环境下使用TabLayout

这两天工作上的东西比较少,索性拿一些空余的时间来研究一些东西。        由于做的东西经常被吐槽说是很丑,索性就研究起了android material design 中的各种控件。       ...
  • just_hu
  • just_hu
  • 2017-07-18 13:38:44
  • 771

Eclipse环境下使用TabLayout DEMO

  • 2016年12月08日 10:53
  • 6.29MB
  • 下载

TabLayout简单使用

今天写了一个关于TabLayout的简单案例,分享一下,里面可能有几个需要注意的点案例图1、主界面布局文件 ...
  • b10060224
  • b10060224
  • 2016-05-05 18:42:52
  • 1499

TabLayout结合ViewPager的使用

点击title 和滑动viewpager  都可实现滑动 布局文件如下
  • u013967628
  • u013967628
  • 2016-08-15 09:02:17
  • 1051

Fragment中套用Tablayout,使用ChildFragment

首先我们要添加上常用的一些依赖: compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5' compile '...
  • zhangheng7
  • zhangheng7
  • 2017-10-20 13:27:31
  • 169

关于引入TabLayout崩溃的bug报错找不到Class的解决办法

解决办法 在gradle文件中添加如下配置: compile 'com.android.support:support-v4:23.4.0' compile 'com.android.suppo...
  • u014102727
  • u014102727
  • 2016-12-23 16:57:40
  • 870

TabLayout与RecyclerView的使用(不使用viewPager关联,无滑动切换效果)

  • 2016年09月17日 21:45
  • 26.96MB
  • 下载

TabLayout多种使用方式

一、使用方式 (1)、导入兼容包 compile 'com.android.support:design:23.4.0' (2)新建Activity,自定义Fragment,资源文件 publi...
  • u013231041
  • u013231041
  • 2016-10-11 18:11:44
  • 3165
    个人资料
    持之以恒
    等级:
    访问量: 3万+
    积分: 1098
    排名: 4万+
    最新评论