歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android中選項卡TabHost的基本使用

今天來學習一下選項卡(TabHost)的使用,

選項卡的使用很常見,比如說:我們在手機上面 已接來電,未接來電的分組,首先來看下實現出來的效果截圖:

我們要去實現TabHost,主要有兩種方法:

1、各選項內容在布局文件中定義。
2、主Activity類繼承TabActivity;
3、用getTabHost()方法獲取TabHost

1、直接在布局文件中定義TabHost
 
注意:TabWidget的id必須是@Android:id/tabs,FrameLayout的id必須是   @android:id/tabcontent。 


接下來使用第一種的實現方法來去實現TabHost

主Activity類:  

  1. package com.jiangqq.tabhost;  
  2.   
  3. import android.app.TabActivity;  
  4. import android.os.Bundle;  
  5. import android.view.LayoutInflater;  
  6. import android.widget.TabHost;  
  7. import android.widget.TabHost.TabSpec;  
  8.   
  9. public class TabHostActivity_Second extends TabActivity {  
  10.     @Override  
  11.     protected void onCreate(Bundle savedInstanceState) {  
  12.         // TODO Auto-generated method stub   
  13.         super.onCreate(savedInstanceState);  
  14.         // setContentView(R.layout.tabhost_second);   
  15.         // 得到TabHost   
  16.         TabHost tabHost = this.getTabHost();  
  17.   
  18.         // 把自己的布局文件添加到TabHost 的FrameLayout中 【注意】很重要的一句代碼   
  19.         LayoutInflater.from(this).inflate(R.layout.tabhost_second,  
  20.                 tabHost.getTabContentView(), true);  
  21.         // 設置選項卡   
  22.         // 參數:是選項卡的標簽   
  23.         TabSpec parentSpec = tabHost.newTabSpec("parent");  
  24.         parentSpec.setIndicator("基類",  
  25.                 this.getResources().getDrawable(R.drawable.announcements256));  
  26.         parentSpec.setContent(R.id.tab_1);  
  27.   
  28.         TabSpec subSpec = tabHost.newTabSpec("sub");  
  29.         subSpec.setIndicator("子類",  
  30.                 this.getResources().getDrawable(R.drawable.content256));  
  31.         subSpec.setContent(R.id.tab_2);  
  32.   
  33.         tabHost.addTab(parentSpec);  
  34.         tabHost.addTab(subSpec);  
  35.   
  36.     }  
  37. }  
TabHost的布局文件:      
  1. package com.jiangqq.tabhost;  
  2.   
  3. import android.app.TabActivity;  
  4. import android.os.Bundle;  
  5. import android.view.LayoutInflater;  
  6. import android.widget.TabHost;  
  7. import android.widget.TabHost.TabSpec;  
  8.   
  9. public class TabHostActivity_Second extends TabActivity {  
  10.     @Override  
  11.     protected void onCreate(Bundle savedInstanceState) {  
  12.         // TODO Auto-generated method stub   
  13.         super.onCreate(savedInstanceState);  
  14.         // setContentView(R.layout.tabhost_second);   
  15.         // 得到TabHost   
  16.         TabHost tabHost = this.getTabHost();  
  17.   
  18.         // 把自己的布局文件添加到TabHost 的FrameLayout中 【注意】很重要的一句代碼   
  19.         LayoutInflater.from(this).inflate(R.layout.tabhost_second,  
  20.                 tabHost.getTabContentView(), true);  
  21.         // 設置選項卡   
  22.         // 參數:是選項卡的標簽   
  23.         TabSpec parentSpec = tabHost.newTabSpec("parent");  
  24.         parentSpec.setIndicator("基類",  
  25.                 this.getResources().getDrawable(R.drawable.announcements256));  
  26.         parentSpec.setContent(R.id.tab_1);  
  27.   
  28.         TabSpec subSpec = tabHost.newTabSpec("sub");  
  29.         subSpec.setIndicator("子類",  
  30.                 this.getResources().getDrawable(R.drawable.content256));  
  31.         subSpec.setContent(R.id.tab_2);  
  32.   
  33.         tabHost.addTab(parentSpec);  
  34.         tabHost.addTab(subSpec);  
  35.   
  36.     }  
  37. }    
Copyright © Linux教程網 All Rights Reserved