TabHost用来显示Tab页,先看效果
一概述
提供Tab页的窗口视图容器,它有俩个children,一组是用户可以选择指定Tab页的标签,另一组是FrameLayout用来显示该Tab页的内容。个别元素通常控制使用这个容器对象,而不是设置在子元素本身的值。
二、重要方法
addTab(TabHost.TabSpec tabSpec):添加一项Tab页
clearAllTabs():清除所有与之相关联的Tab页.
getCurrentTab():返回当前Tab页.
getTabContentView():返回包含内容的FrameLayout
newTabSpec(String tag):返回一个与之关联的新的TabSpec
三、实例
1.布局文件,需要使用FrameLayout
<?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/view1" android:background="@drawable/b" android:layout_width="match_parent" android:layout_height="match_parent" android:text="页1"/> <TextView android:id="@+id/view2" android:background="@drawable/c" android:layout_width="match_parent" android:layout_height="match_parent" android:text="页2"/> <TextView android:id="@+id/view3" android:background="@drawable/d" android:layout_width="match_parent" android:layout_height="match_parent" android:text="页3"/> </FrameLayout>
2.继承TabActivity
public class TabHostDemo extends TabActivity
3.获取此abHost
TabHost tabHost = getTabHost();
4.设置布局
LayoutInflater.from(this).inflate(R.layout.tabhostpage, tabHost.getTabContentView(), true);
5.添加Tab页
tabHost.addTab(tabHost.newTabSpec("tab1") .setIndicator("tab1") .setContent(R.id.view1)); tabHost.addTab(tabHost.newTabSpec("tab3") .setIndicator("tab2") .setContent(R.id.view2)); tabHost.addTab(tabHost.newTabSpec("tab3") .setIndicator("tab3") .setContent(R.id.view3));