【Android】 FragmentTabHost+Fragment实现多标签页

本文介绍了如何在Android应用中使用FragmentTabHost和Fragment来创建多标签页,替代不再推荐的TabActivity。主要内容包括:FragmentActivity的继承、FragmentTabHost的使用、Fragment的创建以及通过滑动手势实现标签页切换。示例代码中提供了MainActivity和FragMentPage1的源码,其他页面类似。最后讲解了如何集成手势检测,通过onFling方法监听和处理滑动事件,实现在标签页间的平滑切换。
摘要由CSDN通过智能技术生成

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值