首页 > 代码库 > Android 自定义ActionBar.Tab对象的表现

Android 自定义ActionBar.Tab对象的表现



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