如何利用Android TabHost+ActivityGroup+Broadcast实现类似于iPhone的底部菜单

 1.如下图所示:

网易新闻Android版基本实现了类似于iPhone的底部菜单,但是当点击内容进入二级页面以后,底部菜单将会消失!


        


点击新闻条目后,如下图所示:   

  

   


那么如何让类似iPhone的底部菜单永久的停留在各个页面,以下是实现方案:

上图的实现过程中,当点击其中的一项如果今天另外一个Activity时,通常会跳走,没有实现保留在本页签下,不过也可以出类似的效果,也是重新启动了这个TabAcitivity。

即使这样如果点击其他页签中的跳转的话,跳转之后还是不会有iphone那种保存的效果,如果处理不当会启动好多的Activity,点击手机上的Back键时不能不能退出。


假如跳转时关闭了当前的Activity,后退时出现重新加载问题。如果使用Tabhost,ActivityGroup和BroadcastReceiver能够实现iphone效果,Tabhost页签中启动的是ActivityGroup(关于AcitivityGroup网上资料很多),Tabhost在此实现的页签的原始的作用。ActivityGroup是Activity的容器,利用它实现启动显示Activity,在AcitivityGroup中动态注册一个BroadcastReceiver用来接收Acitivity发送的广播,根据广播的内容启动相关Activity并把启动的Activity添加到ActivityGroup中,实现没有跳转TabActivity就加载出内容(返回类似,从AcitivityGroup移除当前的activity)。

相关的代码近期贴出,以供大家互相学习。


Android 移动应用开发

Android 程序员



阅读更多
博主设置当前文章不允许评论。

博主推荐

换一批

没有更多推荐了,返回首页