1 说明
android.widget.Tablelayout
我们在应用viewpager的时候,经常会使用自定义控件或是TabPageIndicator来与其配合。达到很漂亮的效果。但是TabPageIndicator是第三方的,而且比较老了,当然了现在很多大神都已经开始自己写TabPageIndicator来满足自己的需求,在2015年的google大会上,google发布了新的Android Support Design库,里面包含了几个新的控件,其中就有一个TabLayout,它就可以完成TabPageIndicator的效果,而且还是官方的,最好的是它可以兼容到2.2以上版本,包括2.2
2 API
在应用的build.gradle中添加support:design支持库,当tab很多超出屏幕之外时,设置属性为:
app:tabMode=“scrollable”(默认是fixed:固定的,标签很多时候会被挤压,不能滑动。)
-
改变选中字体的颜色
app:tabSelectedTextColor="@android:color/holo_orange_light" -
改变未选中字体的颜色
app:tabTextColor="@color/colorPrimary" -
改变指示器下标的颜色
app:tabIndicatorColor="@android:color/holo_orange_light" -
改变整个TabLayout的颜色
app:tabBackground=“color” -
改变TabLayout内部字体大小app:tabTextAppearance="@android:style/TextAppearance.Holo.Large"//设置文字的外貌
-
改变指示器下标的高度
app:tabIndicatorHeight=“4dp” -
有时候Tab只有文字感觉有点单调了
tabLayout.addTab(tabLayout.newTab().setText(“Tab 1”).setIcon(R.mipmap.ic_launcher)); -
加入Padding
设置Tab内部的子控件的Padding:
app:tabPadding=“xxdp”
app:tabPaddingTop=“xxdp”
app:tabPaddingStart=“xxdp”
app:tabPaddingEnd=“xxdp”
app:tabPaddingBottom=“xxdp”
设置整个TabLayout的Padding:
app:paddingEnd=“xxdp”
app:paddingStart=“xxdp” -
内容的显示模式
app:tabGravity=“center”//居中,如果是fill,则是充满 -
Tab的宽度限制
设置最大的tab宽度:
app:tabMaxWidth=“xxdp”
设置最小的tab宽度:
app:tabMinWidth=“xxdp” -
Tab的“Margin”
TabLayout开始位置的偏移量:
app:tabContentStart=“100dp”