最近想修改ActionBar.Tab对象的文本字体和颜色
发现该对象提供的接口非常有限
而网上搜索关于ActionBar.Tab结果大多比较早 使用的也不是google提供的例子中的ActionBar
于是自己研究了一天 找到了使用接口setCustomView来自定义ActionBar.Tab对象
先通过ActionBar.getTabAt(int) 获得一个ActionBar.Tab对象
然后调用setCustomView 使用自定义的layout
注意这里没有生产layout的对象 而是直接使用该布局
布局可以定制好设置文本大小 背景 颜色
后面就和使用普通布局一样
获得一个TextView 再设置文本 背景 等等
actionBar = getSupportActionBar();
ActionBar.Tab t = actionBar.getTabAt(i);
t.setCustomView(R.layout.tab_layout_1);
TextView title = (TextView)t.getCustomView().findViewById(R.id.tab_title);
title.setBackgroundResource(R.drawable.detail);
title.setText(sectionID);
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
android:id="@+id/tab_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_gravity="center_vertical|center"
android:textColor="@android:color/holo_blue_dark"
android:textSize="14sp" />
</FrameLayout>