TabHost僅僅是一個簡單的容器,它提供了newTabSpec(String tab)和addTab(TabHost.TabSapec tabSapec)兩個方法,用來建立和添加選項卡。java
TabHost的使用步驟:android
一、在界面上定義一個TabHost組件,併爲該組件定義選項卡的內容git
二、Acitity裏繼承TabAcitityide
三、調用TabActivity的getTabHost()方法獲取TabHost對象佈局
四、經過TabHost對象建立、添加選項卡this
.......若是,程序裏須要監控TabHost裏當前標籤頁的改變,能夠爲它設置TabHost.OnTabChangeListener監聽器,介紹就這麼多了,其餘的就看API文檔了。spa
---------------------------------------------------------code
下面是實例演示了:xml
main.xml的代碼以下:對象
<?xml version="1.0" encoding="utf-8"?> <TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:id="@+id/tabhost1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <TextView android:layout_width="match_parent" android:layout_height="50dp" android:text="1562622****" /> <TextView android:layout_width="match_parent" android:layout_height="50dp" android:text="1562610****" /> </LinearLayout> <LinearLayout android:id="@+id/tabhost2" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/bg2" /> </LinearLayout> <LinearLayout android:id="@+id/tabhost3" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <DigitalClock android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout> </TabHost>
Acitity.java的關鍵代碼以下:
public class MainActivity extends TabActivity { private TabHost tabHost; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.activity_main); tabHost = getTabHost(); //設置使用TabHost佈局 LayoutInflater.from(this).inflate(R.layout.activity_main, tabHost.getTabContentView(), true); //添加第一個tab標籤頁 tabHost.addTab(tabHost.newTabSpec("tab1") .setIndicator("已接電話") .setContent(R.id.tabhost1)); //添加第二個tab標籤頁 tabHost.addTab(tabHost.newTabSpec("tab2") .setIndicator("通信錄") .setContent(R.id.tabhost2)); //添加第三個tab標籤頁 tabHost.addTab(tabHost.newTabSpec("tab3") .setIndicator("通話時間") .setContent(R.id.tabhost3)); } }
程序效果圖: