项目设计中用到了 viewPager的tab选中的字体变大 并且有右上角的数量 直接上图
xml布局中使用
<com.example.tablayout.STabLayout android:id="@+id/stab" android:layout_width="match_parent" android:layout_height="50dp" android:scrollbars="none" /> <android.support.v4.view.ViewPager android:id="@+id/vp" android:layout_width="match_parent" android:layout_height="match_parent" />
代码中实现
sTabLayout = (STabLayout) findViewById(R.id.stab); List<String> list = new ArrayList<>(); viewPager = (ViewPager) findViewById(R.id.vp); list.add("邓紫棋"); list.add("范冰冰"); list.add("李冰冰"); list.add("唐嫣"); list.add("高圆圆"); list.add("刘诗诗"); list.add("柳岩"); list.add("张柏芝"); list.add("苍井空"); list.add("赵丽颖"); list.add("杨幂"); list.add("濑亚美莉"); list.add("刘亦菲"); list.add("田静"); list.add("长泽梓"); // 右上角数量集合添加数据 for (int i = 0; i < list.size(); i++) { View inflate = getLayoutInflater().inflate(R.layout.item_content, viewPager, false); TextView textView = (TextView) inflate.findViewById(R.id.tv_content); textView.setText(list.get(i)); count.add(i); textViews.add(inflate); } STabLayout.Builder builder = new STabLayout.Builder().data(list).textSize(15).selectTextSize(20).lineSelectColor("#0000FF").lineHeight(3); // 实例化adapter adater = new Adater(textViews); // 设置数据 绑定viewPager sTabLayout.setTitleData(builder, viewPager); // 更新右上角数量 sTabLayout.updateCount(count); viewPager.setAdapter(adater);Builder 累的可设置属性
// 未选择的tab字体颜色
private String textColor = "#000000";
// 选中的tab字体颜色
private String selectTestColor = "#00FF00";
// 未选择的tab字体大小
private int textSize = 15;
// 选中的tab字体大小
private int selectTextSize = 15;
// 右上角数字的颜色
private String countColor = "#FFFFFF";
// 右上角圆形背景颜色
private String countBgColor = "#FF0000";
// 右上角字体的大小
private int countSize = 8;
// 右上角背景的大小
private int countBgSize = 13;
// tab 标题的集合
private List<String> data;
// 下面横线的颜色
private String lineSelectColor = "#00FF00";
// 下面横线的高度
private int lineHeight = 3;
项目地址 https://github.com/androidSongMeng/STabLayout/tree/master