格式:
<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