首页 > 移动平台 > 详细

AndroidMainifest标签使用说明2——<activity>

时间:2014-06-01 15:41:24      阅读:515      评论:0      收藏:0      [点我收藏+]

格式:

<activity android:allowTaskReparenting=["true" | "false"]
          android:alwaysRetainTaskState=["true" | "false"]
          android:clearTaskOnLaunch=["true" | "false"]
          android:configChanges=["mcc", "mnc", "locale",
                                 "touchscreen", "keyboard", "keyboardHidden",
                                 "navigation", "screenLayout", "fontScale", "uiMode",
                                 "orientation", "screenSize", "smallestScreenSize"]
          android:enabled=["true" | "false"]
          android:excludeFromRecents=["true" | "false"]
          android:exported=["true" | "false"]
          android:finishOnTaskLaunch=["true" | "false"]
          android:hardwareAccelerated=["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:parentActivityName="string" 
          android:permission="string"
          android:process="string"
          android:screenOrientation=["unspecified" | "behind" |
                                     "landscape" | "portrait" |
                                     "reverseLandscape" | "reversePortrait" |
                                     "sensorLandscape" | "sensorPortrait" |
                                     "userLandscape" | "userPortrait" |
                                     "sensor" | "fullSensor" | "nosensor" |
                                     "user" | "fullUser" | "locked"]
          android:stateNotNeeded=["true" | "false"]
          android:taskAffinity="string"
          android:theme="resource or theme"
          android:uiOptions=["none" | "splitActionBarWhenNarrow"]
          android:windowSoftInputMode=["stateUnspecified",
                                       "stateUnchanged", "stateHidden",
                                       "stateAlwaysHidden", "stateVisible",
                                       "stateAlwaysVisible", "adjustUnspecified",
                                       "adjustResize", "adjustPan"] >   
    . . .
</activity>

父标签:

<application>


子标签:

<intent-filter> 
<meta-data>


描述:

每一个Activity必须被声明在mainifest文件中,没有被声明的Activity别系统视为不可见,不会被系统调用。

参数:



android:allowTaskReparenting

默认false。
这个属性用来标记一个Activity实例在当前应用退居后台后,是否能从启动它的那个task移动到有共同affinity的task,“true”表示可以移动,“false”表示它必须呆在当前应用的task中。


android:alwaysRetainTaskState

默认false。
这个属性用来标记应用的task是否保持原来的状态,“true”表示总是保持,“false”表示不能够保证。 默认情况下,如果一个应用在后台呆的太久例如30分钟,用户从主选单再次选择该应用时,系统就会对该应用的task进行清理,除了根Activity,其他Activity都会被清除出栈,但是如果在根Activity中设置了此属性之后,用户再次启动应用时,仍然可以看到上一次操作的界面。


android:clearTaskOnLaunch

默认false。
这个参数意思是无论何时这个activity都会从home screen重新启动,也就是只要你按了桌面的图标,这个活动就是第一个发起的。但是唯一要注意的是如果你按下的是home建那么意味着这个活动没有结束,所以你在按有时候就不会第一次发起了。只有当你按下back或者结束当前执行的任务之类代表能使activity结束的行为 这个活动都会第一次发起。 往往android:clearTaskOnLaunch="true" 是一个主入口。


android:configChanges

当在运行时所配置的列表中内容参数发生改变是将会调用onConfigurationChanged()。配置多个内容可以通过“|”的方式,如"locale|navigation|orientation"。下面是可以配置的一些内容:
"mcc" IMSI移动国家代码改变
"mnc" IMSI移动网络的代码改变
"locale" 所在地改变,当用户选择一个新的语言的时候
"touchscreen" 触摸屏改变。(这通常不应该发生)
"keyboard" 键盘类型改变时
"keyboardHidden" 键盘可访问性发生了变化——例如,用户显示硬件键盘。
"navigation" 导航类型改变。(这通常不应该发生)
"screenLayout" 屏幕布局改变了——这可能是由于不同的显示被激活。
"fontScale" 字体大小改变
"uiMode" 用户界面模式已经改变,这可以导致当用户把设备放在书桌/汽车码头或当夜间模式的变化。
"orientation" 屏幕方向改变了——用户旋转设备。
"screenSize" 当前可用的屏幕尺寸已经改变了
"smallestScreenSize" 物理屏幕尺寸已经改变了
"layoutDirection" 布局的方向发生了变化。


android:enabled

默认true
Activity是否可以被系统实例化—“true”如果可以,,如果不是“false”。


android:excludeFromRecents

默认true
任务发起这个Activity是否应该被排除在最近使用的应用程序的列表。设置“true”如果这个任务应该排除在名单之外,设置“false”是否应该被包括。


android:exported

默认false
该Activity是否能够别其他的应用的组件所打开,“true”能够,“false”不能。


android:finishOnTaskLaunch

默认false
如果再次打开这个事务那么原来存在的会不会关闭。“true”原来的打开的就关闭了,“false”不关闭。


android:hardwareAccelerated

默认false
硬件加速渲染是否应该支持这个活动。


android:icon

设置icon


android:label

设置标签


android:launchMode

Activity的启动方式
"standard" 默认的,系统总是会创建一个新的activity实例在目标栈中,并设置Intent路径。
"singleTop" 如果一个activity已经存在于目标栈的顶部,系统通过onNewIntent() 方法新建一个Intent而不是新建一个Activity
"singleTask" 如果没有找到相应的activity,则会在任务栈底部建立一个新的activity,如果Activity已经存在则onNewIntent()一个新的Intent而不是建一个新的activity。
"singleInstance" 和"singleTask"一样,除了系统不会启动任何其他的activity到任务栈中保存实例。activity总是单例的,一个任务栈的唯一成员。


android:multiprocess

默认false
一个activity实例是否能被创它的组件在一个进程中启动。通常情况下,一个新实例的一个活动启动的过程定义的应用程序,所以活动的所有实例运行在相同的进程。然而,如果这个标志被设置为“true”,活动的实例可以运行多个进程,允许系统无论使用它们创建实例(提供权限允许它),这是几乎从来没有必要或可取的。


android:name

activity的名称,比如"com.example.project.ExtracurricularActivity"


android:noHistory

默认false
当离开该activity时它会是不可兼得,此时activity是否能够从堆栈中移除和finishi()。“true”意味着activity不会离开历史的痕迹。它不会留在任务的活动堆栈,因此用户将无法返回。


android:parentActivityName

逻辑父类的名字。系统读取这个属性,以确定哪些活动时应开始使用按下按钮在操作栏。该系统还可以使用此信息来综合与TaskStackBuilder回堆栈的活动。


android:permission

权限的名称,客户必须启动活动或让它回复意图。如果调用者startActivity()或startActivityForResult()没有被授予指定的许可,其意图将不会交付活动。如果没有设置这个属性,设定的许可<application>元素的许可属性适用于活动。如果没有属性设置,活动不受权限保护。


android:process

activity所在的进程名,通常不需要设置。


android:screenOrientation

activity所显示的方向。选择有以下任何一种:
"unspecified" 默认,系统所选择的。
"behind" 和它栈底下的activity一样的方向
"landscape" 景观模式,显示地比高宽
"portrait" 素描模式,显示地比宽高
"reverseLandscape" 横向相反的方向从正常的景观。
"reversePortrait" 肖象方向相反的方向从正常的肖像
"sensorLandscape" 横向,但是可以正常或反向景观基础设备上的传感器。
"sensorPortrait" 肖像方位,但是可以正常或反向肖像基于设备传感器。
"userLandscape" 横向,但是可以正常或反向景观根据用户设备传感器和传感器的偏好。如果用户已锁定传感器旋转,则是landscape,反之,则是sensorLandscape。
"userPortrait" 肖像方位,但是可以正常或反向肖像根据用户设备传感器和传感器的偏好。如果用户已锁定传感器旋转,则是portrait,反之,则是sensorPortrait。
"sensor" 方向是由设备方向传感器。显示的方向取决于用户的设备,它改变当用户旋转设备。不过,一些设备不会旋转四个可能的方向,默认情况下。允许所有四个方向,使用“fullSensor”。
"fullSensor" 方向是由设备定位传感器的4个方向。这类似于“传感器”,除了这允许任何可能的4的屏幕方向,不管设备通常会做些什么
"nosensor" 方向决定不考虑物理方向传感器。传感器被忽略,所以显示不会旋转根据用户移动设备。除了这种区别,系统选择使用相同的政策取向的“unspecified”设置。
"user" 用户当前的择优取向。
"fullUser" 如果用户已锁定传感器旋转,则是“user”,反之,”fullSensor“并且允许任何可能的4的屏幕方向。
"locked" 锁方向目前的旋转,不用管这是什么。


android:stateNotNeeded

默认false
activity是否能够别kill且不需无状态保留重启。


android:taskAffinity

活动有关联的任务栈。


android:theme

整体风格的资源引用定义一个主题活动。这个自动设置活动的上下文使用这一主题。


android:uiOptions

activity UI的一个额外选择。必须是下面一个值:
"none" 默认,没有。
"splitActionBarWhenNarrow"添加栏位于屏幕的底部,在动作条显示操作项,当约束的水平空间。而不是少数出现在屏幕上方操作栏中的行动项目,操作栏被分成顶部导航部分和操作项的底部栏。这保证了空间的合理量可供不仅为行动项目,同时也为在顶部导航和标题元素。菜单项不会在两个栏分裂;他们总是一起出现。


android:windowSoftInputMode

窗口软键盘模式。设置方法:
<activity android:windowSoftInputMode="stateVisible|adjustResize" . . . >
参数简介:
"stateUnspecified" 默认,系统会设置无特别要求。
"stateUnchanged" 软键盘上一次保存在任何状态,是否可见或隐藏,当活动走到前台。
"stateHidden" 软键盘是隐藏的,当用户选择activity时。
"stateAlwaysHidden" 总是隐藏的。
"stateVisible" 可见的,当activity激活的时候
"stateAlwaysVisible" 总是可见的
"adjustUnspecified" 未指定活动的主窗体的大小是否为软键盘,或者窗口的内容是否锅使屏幕上当前的焦点可见。这些模式的系统会自动选择一个取决于窗口的内容有任何布局视图,可以滚动内容。如果有这样一个观点,窗口大小,假设滚动可以使所有可见的窗口的内容在一个较小的区域。
"adjustResize" 活动的主窗口总是会去调整大小使软键盘在窗口中
"adjustPan" 活动的主窗口不是软键盘调整大小以腾出空间。相反,窗口自动安排的内容,当前的焦点永远不会被键盘获得,用户可以看到他们打字。比调整这通常是不可取的,因为用户可能需要关闭软键盘与被遮挡的部分和交互的窗口。

AndroidMainifest标签使用说明2——<activity>,布布扣,bubuko.com

AndroidMainifest标签使用说明2——<activity>

原文:http://blog.csdn.net/suifengerbi/article/details/27837139

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!