【Android UI设计与开发】第12期:ActionBar实现层级导航的返回效果
来源:互联网 发布:淘宝天猫客服在哪里找 编辑:程序博客网 时间:2024/05/16 17:53
首先申明,本系列【Android UI设计与开发】都为转载而来,为了方便自己学习查看,同时也方便大家共同学习前辈们积累的知识,特此转载本系列教程。本系列出处jingqing,空间链接为:http://www.apkbus.com/home.php?mod=space&uid=659&do=index,jingqing空间中还有更多经典的教程!在此,特别感谢jingqing。
今天我们继续来讲解ActionBar的使用,不清楚这个类的读者可以翻阅博主前几篇的文章或者在网络上查阅相关
的资料,关于这个类讲解的文章还是很多的,功能确实也很强大。好的,话不多说,让我们赶快进入正题吧。
一、使用应用图标实现层级导航
在默认的情况下,应用程序图标显示在操作栏的左边。你能够把这个图标当做操作项来使用,应用程序可以在这
个图标上响应以下两个操作其中之一:
<1> 返回应用程序的“主”Activity;
<2> 向应用程序上级页面导航。
要实现应用程序图标能够向上导航,首先就要在你的ActionBar中调用SetDisplayHomeAsUpEnabledtrue(true)方法。
当用户触摸这个图标时,系统会调用Activity带有android.R.id.home ID的onOptionsItemSelected()方法。在这个响应中,你既可以启动主Activity,也可以返回你的应用程序结构化层次中用户上一步操作的界面。 如果你要通过应用程序图标的响应来返回主Activity,那么就应该在Itent对象中包括FLAG_ACTIVITY_CLEAR_TOP标识。用这个标记,如果你要启动的Activity在当前任务中已经存在,那么,堆栈中这个Activity之上的所有的Activity都有被销毁,并且把这个Activity显示给用户。添加这个标识往往是重要的,因为返回主Activity相当与一个回退的动作,因此通常不应该再创建一个新的主Activity的实例,否则,最终可能会在当前任务中产生一个很长的拥有多个主Activity的堆栈。例如,下例的onOptionsItemSelected()方法实现了返回应用程序的主Activity的操作: 在用户从另一个应用程序进入当前Activity的情况下,你可能还想要添加FLAG_ACTIVITY_NEW_TASK标识。这个标识确保在用户返回主页或上级页面时,新的Activity不会被添加到当前的任务中,而是在属于你自己的应用程序的任务中启动。例如,如果用户通过被另一个应用程序调用的Intent对象启动了你的应用程序中的一个Activity,那么选择操作栏图标来返回主页或上级页面时,FLAG_ACTIVITY_CLEAR_TOP标识会在属于你的应用程序的任务中启动这个Activity(不是当前任务)。系统既可以用这个新的Activity做根Activity来启动一个新的任务,也可以把存在后台的拥有这个Activity实例的一个既存任务带到前台来,并且目标Activity会接受onNewIntent()回调。因此,如果你的Activity要接收另一个应用程序的Intent对象,那么通常应该给这个Intent对象添加FLAG_ACTIVITY_NEW_TASK标识,如:二、在Fragments中实现层级导航
当在应用中使用fragments时,单一的FragmentTransaction对象能够表示环境的变化,应该被添加到back堆栈。例如,如果你要实现一个master/detail流程,通过换出fragments,你应该确保在detail界面上点击Back按钮回退到master界面。 如果FragmentTransaction对象在back堆栈上,activity的FragmentManager会处理Back按钮的点击事件。当这一事件发生时,FragmentManager从back堆栈中弹出最近一次事务,并进行反向的行为。如果你的应用程序更新其他用户界面元素来反应当前fragment的状态,例如action bar,记得在commit事务的时候更新UI。三、导航到外部界面 当启动另一个应用程序的activity来允许用户,写一个邮件,或挑选一个照片附件,你一般不会想让用户在Launcher中重新启动程序时回到这个界面。这会对用户造成混淆。为了阻止这种事情的发生,简单的对intent添加FLAG_ACTIVITY_CLEAR_WITH_TASK_RESET标签来启动外部的activity:四、实现的效果图
五、项目结构图 六、详细代码编写 1、这个项目的代码不多,首先是主布局页面,activity_main.xml: 2、然后是另一个界面的布局,activity_other.xml: 3、主界面Activity类,MainActivity.java: 4、进入到另一个Activity界面,OtherActivity.java: 源码下载地址: http://download.csdn.net/detail/yinboliu/7153915
0 0
- 【Android UI设计与开发】第12期:ActionBar实现层级导航的返回效果
- 【Android UI设计与开发】第12期:ActionBar实现层级导航的返回效果
- 【Android UI设计与开发】第12期:顶部标题栏(三)ActionBar实现层级导航的返回效果
- 【Android UI设计与开发】第12期:顶部标题栏(三)ActionBar实现层级导航的返回效果
- 【Android UI设计与开发】第12期:顶部标题栏(三)ActionBar实现层级导航的返回效果
- 【Android UI设计与开发】第12期:顶部标题栏(三)ActionBar实现层级导航的返回效果
- 【Android UI设计与开发】第12期:顶部标题栏(三)ActionBar实现层级导航的返回效果
- 【Android UI设计与开发】第12期:顶部标题栏(三)ActionBar实现层级导航的返回效果
- 【Android UI设计与开发】第11期:ActionBar实现Tab选项卡和下拉导航列表
- 【Android UI设计与开发】第11期:ActionBar实现Tab选项卡和下拉导航列表
- 【Android UI设计与开发】第11期:顶部标题栏(二)ActionBar实现Tab选项卡和下拉导航列表
- 【Android UI设计与开发】第11期:顶部标题栏(二)ActionBar实现Tab选项卡和下拉导航列表
- 【Android UI设计与开发】第11期:顶部标题栏(二)ActionBar实现Tab选项卡和下拉导航列表
- 【Android UI设计与开发】第11期:顶部标题栏(二)ActionBar实现Tab选项卡和下拉导航列表
- 【Android UI设计与开发】第11期:顶部标题栏(二)ActionBar实现Tab选项卡和下拉导航列表
- 【Android UI设计与开发】第11期:顶部标题栏(二)ActionBar实现Tab选项卡和下拉导航列表
- 【Android UI设计与开发】第11期:顶部标题栏(二)ActionBar实现Tab选项卡和下拉导航列表
- 【Android UI设计与开发】第18期:滑动菜单栏(三)SlidingMenu动画效果的实现
- 在O(n)时间内找到数组中任意第K小的数
- Image file was not found.
- 用单调栈解决最大连续矩形面积问题
- stm32之adc双通道的实现dma
- SQL中的EXISTS
- 【Android UI设计与开发】第12期:ActionBar实现层级导航的返回效果
- CVPR14与图像视频检索相关的论文
- ZOJ 2852 Deck of Cards(DP)
- link和domain的区别
- 输入一整数,按八进制,十进制,十六进制输出
- 设计模式-代理模式
- android程序启动画面之Splash总结
- Apriori算法实现
- 关键词放在什么位置最好?关键字也有权重吗?