TabLayout的使用
用于展示Tab的控件
1基本的使用方式
-
通过xml设置
<android.support.design.widget.TabLayout android:id="@+id/tl" android:layout_width="match_parent" android:layout_height="45dp"> <android.support.design.widget.TabItem android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Tab1"/> <android.support.design.widget.TabItem android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Tab2"/> <android.support.design.widget.TabItem android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Tab3"/> </android.support.design.widget.TabLayout>
-
通过代码设置条目
tabLayout.addTab(tabLayout.newTab().setText("Tab 1"));
-
一些基本参数设置
- app:tabSelectedTextColor 设置选中字体的颜色
- app:tabTextColor 未选中字体的颜色
- app:tabIndicatorColor 设置指示器下标的颜色
- app:tabBackground 整个TabLayout的颜色
- app:tabIndicatorHeight 设置指示器下标的高度(这里如果设置成0的时候就是没有底部的下划线了)
- app:tabMode Tab的模式(后面会详细说明)
- app:tabPadding 设置Tab内部的子控件的Padding
- app:tabGravity 内容的显示模式
2改变TabLayout的内部字体大小
app:tabTextAppearance="@android:style/TextAppearance.Holo.Large"//设置文字的外貌
3添加图标
tabLayout.addTab(tabLayout.newTab().setText("Tab 1").setIcon(R.mipmap.ic_launcher));
4Tab模式
- fixed 固定的,标签多的时候会被挤压,并且不能滑动
- scrollable 非固定的,标签多的时候能滑动
5TabLayout的监听(addOnTabSelectedListener)
- onTabSelected(TabLayout.Tab tab) 选中了Tab的逻辑
- onTabUnselected(TabLayout.Tab tab) 未选中Tab的逻辑
- onTabReselected(TabLayout.Tab tab) 再次选中Tab的逻辑
6和ViewPager联动
tabLayout.setupWithViewPager(Viewpager); (这里注意一点,当和ViewPager联动的时候要重写getPageTitle这个方法设置Tab的标题)
7默认选中某项
tabLayout.getTabAt(position).select();