Tab 标签页是界面设计时经常使用的界面控件,可以实现多个分页之间的快速切换,每个分页可以显示不同的内容。
具体步骤:1.设计分页布局。2.使用代码建立Tab标签页,并给给个分页添加标识和标题。3。最后确定每个分页所显示的界面布局。
1.设计分页布局,先建立n个分页,分别为tab1.xml,tab2.xml,.......,tabn.xml.
2.自己的Activity继承TabActivity,然后声明TabHost tabHost = getTabHost();
LayoutInflater.from(this).inflate(R.layout.tab1,tabHost.getTabContentView(),true);
tabHost.addTab(tabHost.newTabSpec("TAB1")).setIndicator("线性布局").setContent(R.id.layout02);
3.TabActivity与以往继承Activity不同,TabActivity支持内嵌多个Activity或View。通过getTabHost()函数获得了Tab标签页的容器,用以承载可以点击的Tab标签和分页的界面布局。通过LayoutInflater将tab1.xml文件中的布局转换为Tab标签页可以使用的View对象。addTab()函数添加了第一个分页,tabHost.newTabSpec("TAB1")表明添加一个标识为TAB1的Tab分页。使用setIndicator()函数设定分页显示的标题,使用setContent()函数设定分页所关联的界面布局。
源代码如下:
package com.wt.tabhosttest;
import android.app.TabActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;
public class TabHostTestActivity extends TabActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TabHost tabHost = getTabHost();
LayoutInflater.from(this).inflate(R.layout.tab1,tabHost.getTabContentView(),true);
LayoutInflater.from(this).inflate(R.layout.tab2, tabHost.getTabContentView(),true);
LayoutInflater.from(this).inflate(R.layout.tab3, tabHost.getTabContentView(),true);
tabHost.addTab(tabHost.newTabSpec("TAB1").setIndicator("线性布局").setContent(R.id.layout01));
tabHost.addTab(tabHost.newTabSpec("TAB2").setIndicator("绝对布局").setContent(R.id.layout02));
tabHost.addTab(tabHost.newTabSpec("TAB3").setIndicator("相对布局").setContent(R.id.layout03));
}
}