首先要定义一个home_lable.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<FrameLayout
android:id="@+id/home_label_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/home_label_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/history_button_selector" />
</FrameLayout>
</LinearLayout>
然后定义selector:
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/tab_personal_centre_selected" />
<item android:state_selected="true" android:drawable="@drawable/tab_personal_centre_selected" />
<item android:drawable="@drawable/tab_personal_centre_default" />
</selector>
在Activity中首先要先获取到View:
View view = LayoutInflater.from(this).inflate(R.layout.home_label,null);
然后通过这个view找到home_label.xml中的ImageView(PS:必须为ImageView,ImageButton不能用),找到ImageView之后就设置相应的selector即可
((ImageView) view.findViewById(R.id.home_label_icon)).setImageResource(R.drawable.open_door_button_selector);
最后就是添加Tab了:
th.addTab(th.newTabSpec("tab1").setIndicator(view).setContent(new Intent(x.this, y.class)));