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

来源:互联网 发布:淘宝宝贝排名工具 编辑:程序博客网 时间:2024/06/06 03:10

格式:

<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"活动的主窗口不是软键盘调整大小以腾出空间。相反,窗口自动安排的内容,当前的焦点永远不会被键盘获得,用户可以看到他们打字。比调整这通常是不可取的,因为用户可能需要关闭软键盘与被遮挡的部分和交互的窗口。

2 0