一個簡單的示例:java
佈局文件:android
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> </LinearLayout>
實現代碼:app
package com.leaf.android; import java.util.ArrayList; import java.util.List; import android.app.TabActivity; import android.os.Bundle; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.TabHost; //TabContentFactory的意思是當某一選項卡被選中時生成選項卡的內容. //若是你的選項卡的內容按某些條件來生成, 請使用該接口.例如:不顯示既存的視圖而是啓動活動. public class Main extends TabActivity implements TabHost.TabContentFactory { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TabHost th = getTabHost(); // newTabSpecd的做用是獲取一個新的 TabHost.TabSpec,並關聯到當前 TabHost // setIndicator的做用是指定標籤和圖標做爲選項卡的指示符. // setContent的做用是指定用於顯示選項卡內容的視圖 ID. th.addTab(th.newTabSpec("all").setIndicator("全部通話記錄").setContent(this)); th.addTab(th.newTabSpec("ok").setIndicator("已接來電").setContent(this)); th.addTab(th.newTabSpec("cancel").setIndicator("未接來電").setContent(this)); } // 建立選項卡內容的回調函數. public View createTabContent(String tag) { ListView lv = new ListView(this); List<String> list = new ArrayList<String>(); list.add(tag); if (tag.equals("all")) { list.add("leaf"); list.add("android"); list.add("Lilei"); } else if (tag.equals("ok")) { list.add("leaf"); list.add("Lilei"); } else { list.add("leaf"); } ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_checked, list); lv.setAdapter(adapter); return lv; } }
效果:ide