主题 : 利用Android TabHost+ActivityGroup+Broadcast实现iPhone的底部菜单 复制链接 | 浏览器收藏 | 打印
欧锐信息科技
级别: 新手上路
UID: 52889
精华: 0
发帖: 4
金钱: 20 两
威望: 4 点
贡献值: 0 点
综合积分: 8 分
注册时间: 2011-07-27
最后登录: 2011-08-03
楼主  发表于: 2011-08-02 14:59

 利用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 程序员
[ 此帖被levin在2011-08-02 21:16重新编辑 ]
网易博客:http://orietech.blog.163.com/
腾讯微博:西安欧锐信息科技
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
贡献值: 27 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
1楼  发表于: 2011-08-02 16:35
看不到图片
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.