一、TabActivity实现标签页
1、继承自TabActivity
2、setContentView(“标准的TabActivity布局文件");
TabActivity布局文件:包含TabHost :标签容器;tabs:对应的标签;tabcontent:对应标签页的内容。标签的位置在上在下根据布局文件的位置确定。
3、获取标签容器:m_tabHost = getTabHost();因为设置了该activity的内容视图,所以可以获取布局文件中的标签容器。
4、在标签容器TabHost中创建一个标签页:
TabSpec tab = m_tabHost.newTabSpec("tab1");
tab.setIndicator();//设置标签的显示内容,对应布局文件里的Tabs
tab.setContent();//设置标签内容中要显示的内容,对应Tabcontent;
如果setContent(viewId)设置的是布局文件里的视图ID则该标签页显示的内容就是布局文件对应的视图。
如果setContent(intent)设置的是intent则该标签页对应的intent里包含的activity;
5、添加标签页到标签容器:m_tabHost.addTab(tab);
二、FragmentActivity实现标签页
1、继承自FragmentActivity
2、setContentView("标准的FragmentActivity布局文件");
FragmentActivity布局文件:包含FragmentTabHost:标签容器;tabs:对应的标签;tabcontent:对应标签页的内容。标签的位置在上在下根据布局文件的位置确定。
3、获取片段标签容器:
FragmentTabHost m_tabHost = (FragmentTabHost) findViewById(android.R.id.tabhost);tabhost在布局文件里是系统的ID所以通过android.R.id.tabhost获取。
4、在添加标签前,要初始化设置标签容器:指明标签管理器和标签页面所对应的tabcontent(必须为realtabcontent)
m_tabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent);
5、在标签容器FragmentTabHost 中创建添加片段标签
TabSpec tab = m_tabHost.newTabSpec("tab1");
tab.setIndicator();//设置标签的显示内容
m_tabHost.addTab(tab, 片段类Fragment.class, null);