Android之TabHost
一. 簡單示例
src
- public class AndroidUIActivity extends TabActivity {
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- // tabHost是一個標簽容器
- TabHost tabHost = this.getTabHost();
- // 每一個TabSpec對象就是個標簽
- // TabSpec.setIndicator()方法是設置標簽顯示樣式
- // TabSpec.setContent()方法顯示標簽下方的內容顯示
- // 定義第一個標簽
- tabHost.addTab(tabHost
- .newTabSpec("OneTab")
- .setIndicator("OneTab",
- getResources().getDrawable(android.R.drawable.star_on))
- .setContent(R.id.linearLayout1));
- // 定義第二個標簽
- tabHost.addTab(tabHost
- .newTabSpec("TwoTab")
- .setIndicator("TwoTab",
- getResources().getDrawable(android.R.drawable.star_off))
- .setContent(R.id.linearLayout2));
- // 定義第三個標簽
- tabHost.addTab(tabHost
- .newTabSpec("ThreeTab")
- .setIndicator("ThreeTab",
- getResources().getDrawable(android.R.drawable.stat_notify_call_mute))
- .setContent(R.id.linearLayout3));
- }
- }
main.xml
- <?xml version="1.0" encoding="utf-8"?>
- <!--
- 根元素是 TabHost ,我們這個文件要和TabActivity配合使用,在TabActivity的源代碼裏寫死了要找的Id是android.R.id.tabhost,
- 因此這裏的ID也要定死成TabHost 的ID 是定死的 "@android:id/tabhost" 下麵的類似,不再解釋。
- -->
- <TabHost xmlns:android="https://schemas.android.com/apk/res/android"
- android:id="@android:id/tabhost"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content" >
- <!-- TabWidget 就是標簽選項卡的頭部部分,注意ID的寫法 -->
- <TabWidget
- android:id="@android:id/tabs"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content" >
- </TabWidget>
- <!-- FrameLayout 就是標簽的內容顯示部分,注意ID的寫法,還要注意我們做了個上部空白設定 android:paddingTop="65dp",是為了不讓內容和標簽重疊 -->
- <FrameLayout
- android:id="@android:id/tabcontent"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent" >
- <!-- LinearLayout 是一個標簽裏的內容,程序根據你定義的ID來把他們放在不同的標簽下麵 android:paddingtop="65dp" -->
- <LinearLayout
- android:id="@+id/linearLayout1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content" >
- <TextView
- android:id="@+id/textView1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="標簽1中的內容" >
- </TextView>
- </LinearLayout>
- <!-- LinearLayout 是另一個標簽裏的內容 -->
- <LinearLayout
- android:id="@+id/linearLayout2"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content" >
- <TextView
- android:id="@+id/textView2"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="標簽2中的內容" >
- </TextView>
- </LinearLayout>
- <LinearLayout
- android:id="@+id/linearLayout3"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content" >
- <TextView
- android:id="@+id/textView3"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="標簽3中的內容" >
- </TextView>
- </LinearLayout>
- </FrameLayout>
- </TabHost>
二. 運行結果
啟動
點擊ThreeTab
最後更新:2017-04-04 07:03:09