TabHost是android应用开发中非常常用的组件,他能起到类似web开发中菜单导航的效果。

  

基本概念:

  TabHost:TabHost就像一个容器,里面可以存放多个Tab。

    tabHost.addTab(tabSpec);//此方法用于将tab添加到tabHost。

  TabSpec:就是Tab,这个类没有对外提供构造函数(不能new),我们需要通过tabHost.newTabSpec("TS_HOME")来实例化TabSpec,参数用于识别和区分多个Tab,就像每个人都会有一个名字。通过TabSpec我们可以设置Tab的图标、Tab上显示的文字,还有Tab的内容。

    tabSpec.setIndicator("主页", getResources().getDrawable(R.drawable.tab_home));//此方法用于设置Tab的文字和图标。

    tabSpec.setContent(new Intent(this,HomeActivity.class));//此方法用于设置Tab的内容,此方法有多种参数形式,本文主要讲Tab的内容为Activity。

  

程序实例:

  效果图

         

代码:

复制代码
import android.app.TabActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;

public class TabHost1Activity extends TabActivity {
TabHost tb;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
tb = this.getTabHost();
TabSpec tsHome = tb.newTabSpec("TS_HOME")
.setIndicator("主页", getResources().getDrawable(R.drawable.tab_home))
.setContent(new Intent(this,HomeActivity.class));
tb.addTab(tsHome);

TabSpec tsGroupOn = tb.newTabSpec("TS_GROUPON")
.setIndicator("团购信息", getResources().getDrawable(R.drawable.tab_groupon))
.setContent(new Intent(this,GroupOnActivity.class));
tb.addTab(tsGroupOn);

TabSpec tsUserInfo = tb.newTabSpec("TS_USERINFO")
.setIndicator("个人中心", getResources().getDrawable(R.drawable.tab_userinfo))
.setContent(new Intent(this,UserInfoActivity.class));
tb.addTab(tsUserInfo);

TabSpec tsMore = tb.newTabSpec("TS_MORE")
.setIndicator("更多", getResources().getDrawable(R.drawable.tab_more))
.setContent(new Intent(this,MoreActivity.class));
tb.addTab(tsMore);
}
}
复制代码

 

简简单单几句代码TabHost存放多个Activity就实现了。

转自:http://www.cnblogs.com/sank615/archive/2011/12/13/2286070.html

posted on 2012-09-03 14:58  清沁  阅读(1020)  评论(0编辑  收藏  举报