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.    
  • 1
  • 2
  • 下一页

相关内容