您的位置:首页 > 移动开发 > Android开发

AndroidMainifest标签说明2——<activity>

2015-08-25 14:56 351 查看

格公式:

<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

逻辑父类的名字。

系统读取这个属性,以确定哪些活动时应開始使用按下button在操作栏。该系统还能够使用此信息来综合与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"
活动的主窗体不是软键盘调整大小以腾出空间。

相反,窗体自己主动安排的内容,当前的焦点永远不会被键盘获得,用户能够看到他们打字。比调整这一般是不可取,因为用户可能需要关闭的形式软键盘和阴影部分和交互。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: