zoukankan      html  css  js  c++  java
  • Intent 的Flag属性(Activity在栈位置的主宰者)

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


    例--(以无动画方式启动ActivityB):
    Intent intent=new Intent(ActivityA.this , ActivityB.class);
    intent,setFlag(FLAG_ACTIVITY_NO_ANIMATION);
    startActivity(intent);

    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。

  • 相关阅读:
    Sqli-labs Less-28a 绕过unions+select过滤 union注入
    eclipse安装freemarker-ide插件
    Eclipse调试时出现source not found的问题
    POJ 1509 Glass Beads 后缀自动机 模板 字符串的最小表示
    1028/3/7 被踩爆的省选模拟赛 30分
    字符串的模板 Manacher kmp ac自动机 后缀数组 后缀自动机
    2018/3/6 省选模拟赛 60分
    埃及分数 a* 搜索 知识点mark
    UOJ #35. 后缀排序 后缀数组 模板
    BZOJ 4566 JZYZOJ 1547 [haoi2016T5]找相同子串 后缀数组 并查集
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5374452.html
Copyright © 2011-2022 走看看