Tab页面的布局R.layout.tabhost_layout:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<FrameLayout
android:id="@+id/tab_center_fl"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" >
</FrameLayout>
<android.support.v4.app.FragmentTabHost
android:id="@+id/tabhost"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ff00ff" >
<TabHost
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</TabHost>
<FrameLayout
android:id="@+id/tab_content_fl"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</FrameLayout>
</android.support.v4.app.FragmentTabHost>
</LinearLayout>
界面代码:
public class TabhostActivity extends FragmentActivity {
private FragmentTabHost mFragmentTabHost;
@SuppressWarnings("rawtypes")
private Class fragmentArray[] = { FragmentTabOne.class, FragmentTabTwo.class, FragmentTabThree.class, };
private String titleArray[] = { "Tab_One", "Tab_Two", "Tab_Three" };
@Override
protected void onCreate(Bundle bundle) {
// TODO Auto-generated method stub
super.onCreate(bundle);
setContentView(R.layout.tabhost_layout);
intViews();
initTabHost();
}
private void intViews() {
mFragmentTabHost = (FragmentTabHost) findViewById(R.id.tabhost);
}
private void initTabHost() {
mFragmentTabHost.setup(this, getSupportFragmentManager(), R.id.tab_content_fl);
mFragmentTabHost.getTabWidget().setDividerDrawable(null);
int count = fragmentArray.length;
for (int i = 0; i < count; i++) {
TabHost.TabSpec tabSpec = mFragmentTabHost.newTabSpec(titleArray[i]).setIndicator(getTabBottomView(i));
mFragmentTabHost.addTab(tabSpec, fragmentArray[i], null);
mFragmentTabHost.getTabWidget().getChildAt(i).setBackgroundResource(R.drawable.tab_bg);
}
}
private View getTabBottomView(int index) {
LayoutInflater layoutInflater = LayoutInflater.from(this);
View view = layoutInflater.inflate(R.layout.tab_bottom_layout, null);//布局很简单,就是一id为bottom_tv的TextView
TextView textView = (TextView) view.findViewById(R.id.bottom_tv);
textView.setText(titleArray[index]);
return view;
}
}