格公式:

<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"
活动的主窗体不是软键盘调整大小以腾出空间。

相反,窗体自己主动安排的内容,当前的焦点永远不会被键盘获得,用户能够看到他们打字。比调整这一般是不可取,因为用户可能需要关闭的形式软键盘和阴影部分和交互。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

AndroidMainifest标签说明2——&lt;activity&gt;的更多相关文章

  1. AndroidMainifest标签使用说明3——&lt;activity-alias&gt;

    格式: <activity-alias android:enabled=["true" | "false"] android:exported=[&quo ...

  2. AndroidMainifest标签使用说明1——&lt;action&gt;

    1.<action> 格式: <action android:name="string" /> 父标签: <intent-filter> 描写叙 ...

  3. Android application 和 activity 标签详解

    extends:http://blog.csdn.net/self_study/article/details/54020909 Application 标签 android:allowTaskRep ...

  4. Android切换横竖屏不销毁前台Activity,也不影响后台Activity

    在切换屏幕方向的时候,Activity默认会走销毁->重建的生命周期,而有时候我们不希望如此,就需要做些额外的设置了: 1.在AndroidMainifest.xml中对应的Activity标签 ...

  5. Android应用开发-Activity(重制版)

    Android四大组件:Activity,Service,Broadcast Receiver,Content Provider Activity是Context的子类,同时实现了Window.Cal ...

  6. 关于android初学者必须掌握的Activity的四大知识点

    这几天一直都在捣鼓android的知识点,兴趣班的老师,讲课太过深奥,天(想到什么就见什么,后后面完全不想听),最后自己找资料总结了在Android学习中很重要的一个组件Activity,那就开始吧! ...

  7. 12、NFC技术:读写NFC标签中的Uri数据

    功能实现,如下代码所示: 读写NFC标签的Uri 主Activity import cn.read.write.uri.library.UriRecord; import android.app.Ac ...

  8. 新建一个类并绑定一个activity

    1.新建一个类(.java 文件),继承Android.app.Activity 2.新建一个activity 文件 3.重写onCreate 方法,设置绑定activity 文件 @Override ...

  9. Android应用开发:LoaderManager在Activity/Fragment中的使用分析

    LoaderManager 外部接口initLoader:起始 public <D> Loader<D> initLoader(int id, Bundle args, Loa ...

随机推荐

  1. UML之部署图(Deployment Diagram)

    计算机系统由硬件和软件组成,应用软件的命令,先转化为操作系统命令,再转化为汇编语言,最后再转化为二进制命令,由硬件来运行.软件要部署到硬件上才具有生命.Deployment Diagram展示的就是把 ...

  2. Android基于cordova3.3插件开发

    最近的工作项目,需要使用cordova插件开发,详细Cordova角色,不会走,你可以去百度自身OK该,直接启动.详细过程,我有一个小Demo解说提前进行. 还只是接触,东西太理论基础,我也不太清楚, ...

  3. JS验证姓名、邮箱、电话号码

    <SCRIPTtype="text/javascript"> varredflag=0; //姓名验证 functionisName(){ varname=$('#na ...

  4. [Unity3D]Unity4全新的动画系统Mecanim

    Unity4.X添加一个新的动画系统,以取代原有的3.X旧的动画系统,全新的动画系统Mecanim是官方推荐,它使我们能够写更少的代码实现连续动画. 效果图 Unity3.X中动画系统播放动画 使用播 ...

  5. win7,win8取得管理员权限 .reg文件

    Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\runas] @="获取管理员所有权" " ...

  6. 领域驱动设计(DDD)部分核心概念的个人理解(转)

    领域驱动设计(DDD)是一种基于模型驱动的软件设计方式.它以领域为核心,分析领域中的问题,通过建立一个领域模型来有效的解决领域中的核心的复杂问题.Eric Ivans为领域驱动设计提出了大量的最佳实践 ...

  7. php定时运行任务(windows7)

    1:自己写的php档,下面是我的一些php档 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzE2MDAyNA==/font/5a6L5L2T/f ...

  8. Qt计算器开发(二):信号槽实现数学表达式合法性检查

    表达式的合法性 由于我们的计算器不是单步计算的,所以我们能够一次性输入一个长表达式.然而假设用户输入的长表达式不合法的话,那么就会引发灾难.所以有必要对于用户的输入做一个限制. 一些限制举例: 比方, ...

  9. Razor button

    比起Web Form開發,在後端(.cs)寫法上大同小異,可選擇C#或VB.NET來撰寫:而在前端(.cshtml..vbhtml)則有比較大的差別,自 MVC3版本後,就以Razor為前端檢視引擎, ...

  10. Javascript设计模式系列三

    继承,一个类或对象继承另一个类或对象的三种方法.类式继承.原型式继承.掺元类. 一.类式继承,原型链.Extend函数. <script type="text/javascript&q ...