Android Design库 TabLayout系统属性
转载:http://www.jianshu.com/p/2b2bb6be83a8
http://www.jianshu.com/p/be1e8a1da639?nomobile=yes
1.改变选中字体的颜色
app:tabSelectedTextColor="@android:color/holo_orange_light"
2.改变未选中字体的颜色
app:tabTextColor="@color/colorPrimary"
3.改变指示器下标的颜色
app:tabIndicatorColor="@android:color/holo_orange_light"
4.改变整个TabLayout的颜色
app:tabBackground="color"
于是现在我的Tab变成了这个样子:
4.改变TabLayout内部字体大小
app:tabTextAppearance="@android:style/TextAppearance.Holo.Large"//设置文字的外貌
效果:
5.改变指示器下标的高度
app:tabIndicatorHeight="4dp"
效果:
6.添加图标
tabLayout.addTab(tabLayout.newTab().setText("Tab 1").setIcon(R.mipmap.ic_launcher));
7.Tab的模式
默认是fixed:固定的,标签很多时候会被挤压,不能滑动。
设置为可滑动:
app:tabMode="scrollable"
效果如下:
8.加入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"
9.内容的显示模式
app:tabGravity="center"//居中,如果是fill,则是充满
10.Tab的宽度限制
app:tabMaxWidth="xxdp"
app:tabMinWidth="xxdp"
11.Tab的偏移量“Margin”
开始位置的偏移量:
app:tabContentStart="100dp"
12.TabLayout的监听事件
选中了某个tab的监听事件OnTabSelectedListener():
tabLayout.setOnTabSelectedListener(newTabLayout.OnTabSelectedListener() {
@Override
public voidonTabSelected(TabLayout.Tab tab) {
//选中了tab的逻辑
}
@Override
public voidonTabUnselected(TabLayout.Tab tab) {
//未选中tab的逻辑
}
@Override
public voidonTabReselected(TabLayout.Tab tab) {
//再次选中tab的逻辑
}
});
13.ViewPager的联动
最后也是最重要的:
tabLayout.setupWithViewPager(Viewpager);
14.简单模仿简书Android端的Tab
设置下标的高度为0,相当于没有下标:
app:tabIndicatorHeight="0dp"
设置背景颜色以及选中文字颜色
app:tabSelectedTextColor="#ff7a61"
app:tabBackground="#f6f4f2"//这里不能直接写RGB,需要@color/xx
最后设置Tab的模式:
app:tabMode="scrollable"