最近想修改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>