`
sunnymoon
  • 浏览: 89292 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

比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

 

五. 加了几张运行效果图

 

 

 

 

 

 

  • 大小: 16.1 KB
  • 大小: 15.1 KB
  • 大小: 15.4 KB
分享到:
评论
3 楼 sunnymoon 2012-12-05  
cuiweibing 写道
代码下不到了,还能上传个吗?多谢

百度robotarm-add框架。
2 楼 cuiweibing 2012-10-29  
代码下不到了,还能上传个吗?多谢
1 楼 scylwhy 2011-11-16  
hi, 这个能start一个mapactivity么?

相关推荐

    Android TabActivity实现多页显示效果

    在Android开发中,TabActivity是实现多页面切换和展示效果的一种常见方式。它允许用户通过底部的标签栏轻松地在不同的界面之间切换,提供了一种直观的用户交互体验。本教程将详细介绍如何使用TabActivity创建一个多...

    TabActivity笔记

    在Android开发中,`TabActivity`是早期版本中用于实现底部标签栏切换界面的一种方式。这篇笔记主要探讨了`TabActivity`的使用方法及其背后的原理,同时也涉及到了一些与之相关的工具和源码分析。 首先,`...

    TabActivity中的Tab标签详细设置

    在Android开发中,TabActivity是早期用来实现底部标签栏切换页面的一种方式,它结合了TabHost和ActivityGroup来实现多页面间的切换。然而,随着Android版本的更新,TabActivity已经逐渐被Fragment和ViewPager等组件...

    Android学习4——ListActivity,TabActivity

    尽管TabActivity已不再流行,理解它的原理仍然有助于我们了解Android历史,以及如何向更现代的解决方案迁移。 在实际项目中,ListActivity常用于显示长列表,如联系人列表、邮件列表等。而TabActivity(或其替代...

    TabActivity的使用

    在Android开发中,`TabActivity`是早期版本中用于实现底部导航栏的一种方式。它允许开发者创建具有多个标签(tabs)的应用,每个标签对应一个不同的活动(Activity)。然而,随着Android SDK的发展,`TabActivity`已...

    使用Fragments取代tabActivity开发网易新闻客户端框架

    在Android应用开发中,随着平台的发展和用户需求的多样化,传统的TabActivity已经逐渐被淘汰,取而代之的是更灵活、功能更强的Fragments。本文将深入探讨如何利用Fragments构建一个类似网易新闻客户端的框架。 **...

    Fragment实现导航 NavigationTabDemo

    在Android应用开发中,"Fragment实现导航 NavigationTabDemo"是一个常见的需求,...通过理解Fragment的基础知识、自定义导航栏的实现方式以及相关的布局和数据管理,开发者可以构建出更加灵活、高效且用户友好的应用。

    底部菜单栏

    `ActionBar`是Android系统的组件,而`Toolbar`则来自Android Design Support Library,提供了一种更灵活的实现方式。 #### 1. 使用ActionBar 在AndroidManifest.xml中为`Activity`指定`android:theme="@style/...

    TabHost的使用

    尽管`TabActivity`在新版本的Android中已不推荐使用,但理解其工作原理有助于我们更好地理解Android的标签栏实现。在现代Android开发中,通常会使用`FragmentTabHost`或者直接在`Activity`中管理`Tab`,结合`...

    安卓Android源码——TabActivityDemo.zip

    在Android 3.0(API级别11)之后,随着ActionBar的引入,TabActivity逐渐被废弃,取而代之的是使用ActionBar上的Tab或者ViewPager配合Fragment进行界面切换,因为这种方式更灵活,更符合现代Android设计原则。...

    Android之UI设计技巧.docx

    在Android开发中,**TabHost** 和 **TabActivity** 是用来实现标签式导航的重要工具,它们能够帮助开发者创建出具有多个标签页的应用界面。 ###### 1.1.1 TabHost的第一种使用方法 1. **定义一个Activity继承于...

    android安卓笔记

    - **TabActivity-标签页**:`TabActivity`提供了一种简单的方式来实现标签式界面。每个标签对应一个独立的`Activity`,用户可以通过滑动或点击标签来切换不同的内容。 #### Widget—控件 - **TextView-文本框**:`...

    史上最全的Android的Tab与TabHost.txt

    总结来说,`TabHost`为开发者提供了非常灵活的方式来构建多标签视图的应用,通过合理的布局设计和代码编写,可以轻松地创建出美观且功能丰富的标签界面。希望本文能帮助大家更好地理解和运用`TabHost`这一强大的工具...

    Android TabHost UI设计 菜单完美显示

    TabHost是Android中用来实现多标签界面的主要工具,它可以包含一个TabWidget(标签栏)和一个FrameLayout(内容区域)。当用户点击不同标签时,内容区域会显示对应的Fragment或Activity。 **二、TabHost的使用步骤*...

Global site tag (gtag.js) - Google Analytics