TabActivity和FragmentActiivty实现标签页的区别

一、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);

你可能感兴趣的:(TabActivity和FragmentActiivty实现标签页的区别)