vTabHost:是一种非常实用的组件,可以很方便地在窗口上放置多个标签页,每个个标签页相当于获得了一个与外部容器相同大小的组件摆放区域,可以通过选项卡组件在容器中放置更多组件。
v常用方法:
newTabSpec(String tag):创建选项卡。
addTab(TabHost.TabSpec tabSpec):添加选项卡
v使用步骤:
在界面布局中定义TabHost组件并为其定义内容
Activity继承TabActivity
调用getTabHost()方法获取TabHost对象
通过TabHost对象的方法来创建选项卡、添加选项卡
布局文件:
- <?xml version="1.0" encoding="utf-8"?>
- <TabHost xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <LinearLayout
- android:id="@+id/tab01"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="第一个标签01"/>
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="第一个标签02"/>
- </LinearLayout>
- <LinearLayout
- android:id="@+id/tab02"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="第二个标签01"/>
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="第二个标签02"/>
- </LinearLayout>
- <LinearLayout
- android:id="@+id/tab03"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="第三个标签01"/>
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="第三个标签02"/>
- </LinearLayout>
- </TabHost>
点击选项卡可以跳转到相应页面
- import android.app.TabActivity;
- import android.os.Bundle;
- import android.view.LayoutInflater;
- import android.widget.TabHost;
- public class AndroidtestActivity14 extends TabActivity{
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- //获得tabhost
- TabHost tabhost=getTabHost();
- //设置tabhost布局
- LayoutInflater.from(this).inflate(R.layout.main14, tabhost.getTabContentView(),true);
- //添加第一个标签
- tabhost.addTab(tabhost.newTabSpec("tab1")
- .setIndicator("第一个标签")
- .setContent(R.id.tab01));
- //添加第二个标签
- tabhost.addTab(tabhost.newTabSpec("tab2")
- .setIndicator("第二个标签")
- .setContent(R.id.tab02));
- //添加第三个标签
- tabhost.addTab(tabhost.newTabSpec("tab3")
- .setIndicator("第三个标签")
- .setContent(R.id.tab03));
- }
- }