首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

比TabActivity更灵便的工具栏实现方式

2012-09-25 
比TabActivity更灵活的工具栏实现方式更新内容: 解决状态栈的bug,用标准栈实现 11.10 13:12--------------

比TabActivity更灵活的工具栏实现方式

更新内容: 解决状态栈的bug,用标准栈实现 11.10 13:12

------------------------------------------------------------------------

?

一. 动机:

?

TabActivity的标签功能很方便,拿过来真接用,省时省力。但其功能限于标签,对于复杂灵活的应用它就力不从心了。

TabActivity有诸多限制,最难搞定的就是状态的回退(点击andorid特有的后退键),已及嵌套页面,它的痛不用我多说,用过它的人,痛过的人明白的。



二. 自实现工具栏框架:

?

继承ActivityGroup,大多框架功能一个类就可又搞定,当然为了零件化,可又搞成几个类。它的好处是

功能上TabActivity已有的基本都满足,而且更加的灵活,功能更强大,上面提及的功能都不难实现,当然是它灵活性的体现。



三. 简单的说明

1. 对状态的保存使用一个特殊的栈,用LinkedList而不是Stack,因为出栈操作比较特殊,出的不是最顶元素,LinkedList可又更灵活。


2. 工具栏的切换使用RadioGroup实现,点一次的选择操作实现上是一个单选操作,当然需要改变RadioGroup默认的样式(要像工具栏)


3. 对回退操作监听Activity的onKeyDown方法,对回退统一控制


4. 对框架外的业务Activity没有任何特殊的要求,唯一一点区别是在startActivity时使用框架提供的跳转


5. 代码实现参考了 新浪微博 和 京东商场 又及网上查找的资料



四. 代码Demo

?

有代码有真像,,可真接运行。

eclipse+android2.2环境?

?

下载地址:http://www.kuaipan.cn/index.php?ac=file&oid=162822210215221

?

密码:O5qfg2

?

五. 加了几张运行效果图

比TabActivity更灵便的工具栏实现方式

?

?

比TabActivity更灵便的工具栏实现方式

?

?

?

比TabActivity更灵便的工具栏实现方式

?

1 楼 scylwhy 2011-11-16   hi, 这个能start一个mapactivity么?

热点排行