码迷,mamicode.com
首页 > 其他好文 > 详细

Intent 的Flag属性(Activity在栈位置的主宰者)

时间:2014-11-04 21:08:15      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:   activity栈   加载模式   

Intent 的Flag属性可用来控制Activity在栈中的排列位置,本文列举了常见的Flag.


FLAG_ACTMTY_BROUGHT_TO_FRONT:

如特通过该Flag启动的Activity已经存在,下次再次启动时,将只是将该Activity带到前行。例如现存Activity栈中有Activity A,此时以该旗标启动Activity B(即Activity B是以FLAG_ACTMTY_BROUGHT_TO_FRONT旗标启动的),然后在Activity B中启动C、D,如果此时在Activity D中再启动B,将直接把Activity栈中的Activity B带到前台。此时Activity栈中情形是A、C、D、B。


FLAG_ACTIVITY_CLEAR_TOP:

该Flag相当于加载模式中的singleTask,通过这种Flag启动的Activity将会把要启动的Activity之外的Activity全部弹出Activity栈。例如,Activity栈中包含A、B、C、D这4个Activity,如果采用该Flag从ActivityD跳转到ActivityB,此时Activity栈中只包含A、B两个Activity。


FLAG_ACTMTY_NEW_TASK:

默认的启动旗标,该旗标控制重新创建一个新的Activity


FLAG_ACTIVITY_NO_ANIMATION:

该旗标会控制启动Activity时不使用过渡动画。


FLAG_ACTIVITY_NO_HlSTORY:

该旗标控制被启动的Activity将不会保留在Activity栈中。例如Activity栈中原来有A、B、C这三个Activity,此时在Activity C中以该Flag启动Activity D,Activity D再启动Activity E,此时Activity中只有A、B、C、E这4个Activity,Activity D不会保留在Actvity栈中。


FIAG_ACTIVITY_REORDER_TO_FRONT:

该Flag控制如果当前已有该Activtity,直接将该Activity带到前台。例如现在Activity栈中有A、B.C、D这4个Activity,如果使用FIAG_ACTIVITY_REORDER_TO_FRONT旗标来启动Activity B,那么启动后的Activity栈中情形为A、C、D、B。


FLAG_ACTIVITY_SINGLE_TOP:

该Flag相当于加载模式中的singleTop模式,例如原来是A、B、C、D这4个Activity,在Activity D中再次启Activity D依然还是A、B、C、D这4个Activity。

Intent 的Flag属性(Activity在栈位置的主宰者)

标签:   activity栈   加载模式   

原文地址:http://blog.csdn.net/pengkv/article/details/40792553

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!