<activity>标签的一些属性

<activity android:allowTaskReparenting=["true" | "false"]
          android:alwaysRetainTaskState=["true" | "false"]
          android:clearTaskOnLaunch=["true" | "false"]
          android:configChanges=["mcc", "mnc", "locale",
                                 "touchscreen", "keyboard", "keyboardHidden",
                                 "navigation", "orientation", "screenLayout",
                                 "fontScale", "uiMode"]
          android:enabled=["true" | "false"]
          android:excludeFromRecents=["true" | "false"]
          android:exported=["true" | "false"]
          android:finishOnTaskLaunch=["true" | "false"]
          android:icon="drawable resource"
          android:label="string resource"
          android:launchMode=["multiple" | "singleTop" |
                              "singleTask" | "singleInstance"]
          android:multiprocess=["true" | "false"]
          android:name="string"
          android:noHistory=["true" | "false"]  
          android:permission="string"
          android:process="string"
          android:screenOrientation=["unspecified" | "user" | "behind" |
                                     "landscape" | "portrait" |
                                     "sensor" | "nosensor"]
          android:stateNotNeeded=["true" | "false"]
          android:taskAffinity="string"
          android:theme="resource or theme"
          android:windowSoftInputMode=["stateUnspecified",
                                       "stateUnchanged", "stateHidden",
                                       "stateAlwaysHidden", "stateVisible",
                                       "stateAlwaysVisible", "adjustUnspecified",
                                       "adjustResize", "adjustPan"] >   
    . . .
</activity>

亲戚为任务的一个标识,表示活动与任务的从属关系.

android:allowTaskReparenting

是否可以将目标activity从启动它的那个Task移动到他自己定义的而且马上要显示的那个Task.如果为false,它就会留在启动它的那个Task中.

android:alwaysRetainTaskState

是否让系统保留任务的最后状态. 一般情况下, 在按home键后再次启动应用,系统会去除栈内所有在根活动之上的活动; 或者某任务经过一段时间没有被访问时也会被系统清除其他活动. 本选项仅对根活动有意义,其他活动包含此标签会被忽略.

android:clearTaskOnLaunch

是否在从 home 界面重新启动时清空Task. 如果为 true, 每次用户启动任务, 用户都被带到根活动.不管他们最后在做什么,也不管是按BACK或HOME键最后离开的它. 如果是 false, 则不会这样.

例如,假设用户从 home 启动 P , 然后从P启动 Q , 用户又点击了HOME, 然后又启动了P. 正常情况下用户将会看到Q, 因为这是用户最后在 P 中做的工作. 如果P中将此标志设置为 true ,当用户点击 home 时所有的P之上的活动都会被清除, 所以用户再次点击回来时会只能看到 P.

如果这个属性和 allowTaskReparenting 同时为 true 时, 所有的可以被 re-parented 的活动都被移到他们共享亲戚关系的任务中, 剩下的活动都被丢弃了.

android:finishOnTaskLaunch

在用户从 home 界面重新启动应用时, 是否结束掉这个活动. 如果这个属性和 allowTaskReparenting 同时为 true 时, 本属性会干掉那一个属性. 本活动的亲戚也会被忽略. 这个活动将会被销毁.

android:launchMode

用例 启动模式 多实例 注释
适合大部分活动的普通模式 "standard" Yes 默认值.系统总是会创建一个新实例
"singleTop" Conditionally 如果一个实例已经存在在目标任务的栈顶,则复用,否则会创建新实例. 可以通过重写 onNewIntent() 来捕获
特殊启动方法
(不推荐用于一般应用)
"singleTask" No

如果目标活动不存在,则会创建它并放在目标任务栈底, 然后启动它;

如果目标活动已存在, 则会启动它并执行它的 onNewIntent() 方法

"singleInstance" No 与 "singleTask" 相同, 但是这个活动将会独占一个任务


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值