首先是布局文件:
<TabHost xmlns:a
ndroid="http://schemas.Android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@android:id/tabhost"
>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5dip"
>
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="5dip"
/>
</LinearLayout>
</TabHost>
注意的是上面的TabHost和TabWidget和FrameLayout中的id要用android系统的id,不能自己定义自己的id。
TabWidget就是TabActivity上面的那个标签。
FrameLayout就是标签下面显示的内容。
下面是java代码
TabHost tabHost = getTabHost();
Intent remote = new Intent();
remote.setClass(this, RemoteMp3ListActivity.class);
//得到一个TabSpec对象,就相当于一个标签和它的内容
TabHost.TabSpec remoteSpec = tabHost.newTabSpec("remote");
//得到一个resources对象,是为了得到系统的图片,让其作为我们的TabHost的标签的图标
Resources res = getResources();
remoteSpec.setIndicator("remote", res.getDrawable(android.R.drawable.stat_sys_download));
remoteSpec.setContent(remote);
tabHost.addTab(remoteSpec);
Intent local = new Intent();
local.setClass(this, LocalMp3ListActivity.class);
//得到一个TabSpec对象,就相当于一个标签和它的内容
TabHost.TabSpec localSpec = tabHost.newTabSpec("local");
localSpec.setIndicator("local", res.getDrawable(android.R.drawable.stat_sys_download));
localSpec.setContent(local);
tabHost.addTab(localSpec);
注意当前的activity要继承TabActivity
效果如下图: