閱讀745 返回首頁    go 技術社區[雲棲]


Android之TabHost

一. 簡單示例

src

[java] view plaincopy
  1. public class AndroidUIActivity extends TabActivity {  
  2.   
  3.     @Override  
  4.     public void onCreate(Bundle savedInstanceState) {  
  5.         super.onCreate(savedInstanceState);  
  6.         setContentView(R.layout.main);  
  7.   
  8.         // tabHost是一個標簽容器  
  9.         TabHost tabHost = this.getTabHost();  
  10.   
  11.         // 每一個TabSpec對象就是個標簽  
  12.         // TabSpec.setIndicator()方法是設置標簽顯示樣式  
  13.         // TabSpec.setContent()方法顯示標簽下方的內容顯示  
  14.   
  15.         // 定義第一個標簽  
  16.         tabHost.addTab(tabHost  
  17.                 .newTabSpec("OneTab")  
  18.                 .setIndicator("OneTab",  
  19.                         getResources().getDrawable(android.R.drawable.star_on))  
  20.                 .setContent(R.id.linearLayout1));  
  21.   
  22.         // 定義第二個標簽  
  23.         tabHost.addTab(tabHost  
  24.                 .newTabSpec("TwoTab")  
  25.                 .setIndicator("TwoTab",  
  26.                         getResources().getDrawable(android.R.drawable.star_off))  
  27.                 .setContent(R.id.linearLayout2));  
  28.   
  29.         // 定義第三個標簽  
  30.         tabHost.addTab(tabHost  
  31.                 .newTabSpec("ThreeTab")  
  32.                 .setIndicator("ThreeTab",  
  33.                         getResources().getDrawable(android.R.drawable.stat_notify_call_mute))  
  34.                 .setContent(R.id.linearLayout3));  
  35.   
  36.     }  
  37. }  

main.xml

[html] view plaincopy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <!--  
  3.      根元素是 TabHost ,我們這個文件要和TabActivity配合使用,在TabActivity的源代碼裏寫死了要找的Id是android.R.id.tabhost,  
  4.     因此這裏的ID也要定死成TabHost 的ID 是定死的 "@android:id/tabhost" 下麵的類似,不再解釋。  
  5.   
  6. -->  
  7. <TabHost xmlns:android="https://schemas.android.com/apk/res/android"  
  8.     android:id="@android:id/tabhost"  
  9.     android:layout_width="fill_parent"  
  10.     android:layout_height="wrap_content" >  
  11.   
  12.     <!-- TabWidget 就是標簽選項卡的頭部部分,注意ID的寫法 -->  
  13.   
  14.     <TabWidget  
  15.         android:id="@android:id/tabs"  
  16.         android:layout_width="fill_parent"  
  17.         android:layout_height="wrap_content" >  
  18.     </TabWidget>  
  19.     <!-- FrameLayout 就是標簽的內容顯示部分,注意ID的寫法,還要注意我們做了個上部空白設定 android:paddingTop="65dp",是為了不讓內容和標簽重疊 -->  
  20.   
  21.     <FrameLayout  
  22.         android:id="@android:id/tabcontent"  
  23.         android:layout_width="fill_parent"  
  24.         android:layout_height="fill_parent" >  
  25.   
  26.         <!-- LinearLayout 是一個標簽裏的內容,程序根據你定義的ID來把他們放在不同的標簽下麵     android:paddingtop="65dp" -->  
  27.   
  28.         <LinearLayout  
  29.             android:id="@+id/linearLayout1"  
  30.             android:layout_width="wrap_content"  
  31.             android:layout_height="wrap_content" >  
  32.   
  33.             <TextView  
  34.                 android:id="@+id/textView1"  
  35.                 android:layout_width="wrap_content"  
  36.                 android:layout_height="wrap_content"  
  37.                 android:text="標簽1中的內容" >  
  38.             </TextView>  
  39.         </LinearLayout>  
  40.         <!-- LinearLayout 是另一個標簽裏的內容 -->  
  41.   
  42.         <LinearLayout  
  43.             android:id="@+id/linearLayout2"  
  44.             android:layout_width="wrap_content"  
  45.             android:layout_height="wrap_content" >  
  46.   
  47.             <TextView  
  48.                 android:id="@+id/textView2"  
  49.                 android:layout_width="wrap_content"  
  50.                 android:layout_height="wrap_content"  
  51.                 android:text="標簽2中的內容" >  
  52.             </TextView>  
  53.         </LinearLayout>  
  54.   
  55.         <LinearLayout  
  56.             android:id="@+id/linearLayout3"  
  57.             android:layout_width="wrap_content"  
  58.             android:layout_height="wrap_content" >  
  59.   
  60.             <TextView  
  61.                 android:id="@+id/textView3"  
  62.                 android:layout_width="wrap_content"  
  63.                 android:layout_height="wrap_content"  
  64.                 android:text="標簽3中的內容" >  
  65.             </TextView>  
  66.         </LinearLayout>  
  67.     </FrameLayout>  
  68.   
  69. </TabHost>  

二. 運行結果

啟動



點擊ThreeTab

最後更新:2017-04-04 07:03:09

  上一篇:go IE10讓IE黑們拜倒的另類廣告
  下一篇:go Android開發22——廣播接收者BroadcastReceiver的原理和注冊方式