Android TabHost多标签页几乎是所有APP中必备的控件,如通迅录的【拨号、通话记录、联系人】,微信的【聊天、联系人、发现】,如下图
Android API13之后官方就不推荐使用TabActivity了,取而代之的是FragmentActivity+FragmentTabHost+Fragment的组合
大致用法
要显示多标签页的Activity继承FragmentActivity,里面定义一个FragmentTabHost类型的对象,
另外定义几个类继承Fragment,实现每个Tab的具体功能并加载对应界面布局
然后用FragmentTabHost的addTab方法将Fragment添加到FragmentTabHost中显示,可以点击切换多个Fragmen(即每个标签页)
最后再为MainActivity添加滑动手势来切换标签页
写了个Demo,
MainActivity的主要代码:
public class MainActivity extends FragmentActivity{
private FragmentTabHost mTabHost;
private LayoutInflater layoutInflater;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
layoutInflater=LayoutInflater.from(this);
mTabHost=(FragmentTabHost)findViewById(android.R.id.tabhost);
mTabHost.setup(this, getSupportFragmentManager(),R.id.realtabcontent);
mTabHost.addTab(mTabHost.newTabSpec("首页").setIndicator("首页"),FragmentPage1.class,null);
mTabHost.addTab(mTabHost.newTabSpec("聊天").setIndicato