热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

AndroidMainfest.xml具体解释——<activity>

语法:

语法:

"true" | "false"]
          android:allowTaskReparenting=["true" | "false"]
          android:alwaysRetainTaskState=["true" | "false"]
          android:autoRemoveFromRecents=["true" | "false"]
          android:banner="drawable resource"
          android:clearTaskOnLaunch=["true" | "false"]
          android:cOnfigChanges=["mcc", "mnc", "locale",
                                 "touchscreen", "keyboard", "keyboardHidden",
                                 "navigation", "screenLayout", "fontScale",
                                 "uiMode", "orientation", "screenSize",
                                 "smallestScreenSize"]
          android:documentLaunchMode=["intoExisting" | "always" |
                                  "none" | "never"]
          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=["standard" | "singleTop" |
                              "singleTask" | "singleInstance"]
          android:maxRecents="integer"
          android:multiprocess=["true" | "false"]
          android:name="string"
          android:noHistory=["true" | "false"]  
          android:parentActivityName="string" 
          android:permission="string"
          android:process="string"
          android:relinquishTaskIdentity=["true" | "false"]
          android:resizeableActivity=["true" | "false"]
          android:screenOrientation=["unspecified" | "behind" |
                                     "landscape" | "portrait" |
                                     "reverseLandscape" | "reversePortrait" |
                                     "sensorLandscape" | "sensorPortrait" |
                                     "userLandscape" | "userPortrait" |
                                     "sensor" | "fullSensor" | "nosensor" |
                                     "user" | "fullUser" | "locked"]
          android:stateNotNeeded=["true" | "false"]
          android:supportsPictureInPicture=["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(一个 Activity子类)。

全部 Activity 都必须由清单文件里的 元素表示。 不论什么未在该处声明的 Activity 都将对系统不可见,而且也永远不会被执行。


属性:

android:allowEmbedded

表示该 Activity 可作为还有一 Activity 的嵌入式子项启动。 它尤其适用于子项所在的容器(如 Display)为还有一 Activity 所拥有的情况。 比如,用于 Wear 自己定义通知的 Activity 必须声明此项。以便 Wear 在其上下文流中显示 Activity。后者位于还有一进程中。
该属性的默认值为 false。

android:allowTaskReparenting当启动 Activity 的任务接下来转至前台时,Activity 能否从该任务转移至与其有亲和关系的任务 —“true”表示它能够转移,“false”表示它仍须留在启动它的任务处。
假设未设置该属性,则对 Activity 应用由 元素的对应 allowTaskReparenting 属性设置的值。 默认值为“false”。

正常情况下,当 Activity 启动时。会与启动它的任务关联,并在其整个生命周期中一直留在该任务处。

您能够利用该属性强制 Activity 在其当前任务不再显示时将其父项更改为与其有亲和关系的任务。该属性通经常使用于使应用的 Activity 转移至与该应用关联的主任务。

比如,假设电子邮件包括网页链接。则点击链接会调出可显示网页的 Activity。

该 Activity 由浏览器应用定义。但作为电子邮件任务的一部分启动。 假设将其父项更改为浏览器任务。它会在浏览器下一次转至前台时显示,当电子邮件任务再次转至前台时则会消失。

Activity 的亲和关系由 taskAffinity 属性定义。

任务的亲和关系通过读取其根 Activity 的亲和关系来确定。因此,依照定义。根 Activity 始终位于具有同样亲和关系的任务之中。 由于具有“singleTask”或“singleInstance”启动模式的 Activity 仅仅能位于任务的根,因此更改父项仅限于“standard”和“singleTop”模式。 (另请參阅 launchMode 属性。

android:alwaysRetainTaskState系统是否始终保持 Activity 所在任务的状态 —“true”表示保持,“false”表示同意系统在特定情况下将任务重置到其初始状态。 默认值为“false”。该属性仅仅对任务的根 Activity 有意义;对于全部其它 Activity,均忽略该属性。


正常情况下。当用户从主屏幕又一次选择某个任务时,系统会在特定情况下清除该任务(从根 Activity 之上的堆栈中移除全部 Activity)。 系统一般会在用户一段时间(如 30 分钟)内未訪问任务时执行此操作。

只是,假设该属性的值是“true”。则不管用户怎样到达任务,将始终返回到最后状态的任务。 比如,在网络浏览器这类存在大量用户不愿失去的状态(如多个打开的标签)的应用中。该属性会非常实用。

android:autoRemoveFromRecents由具有该属性的 Activity 启动的任务是否一直保留在概览屏幕中。直至任务中的最后一个 Activity 完毕为止。 若为 true。则自己主动从概览屏幕中移除任务。 它会替换调用方使用的 FLAG_ACTIVITY_RETAIN_IN_RECENTS。 它必须是布尔值“true”或“false”。
android:banner一种为其关联项提供扩展图形化横幅的可绘制资源。 将其与 标记联用可为特定 Activity 提供默认横幅。也可与 标记联用,为全部应用 Activity 提供横幅。


系统使用横幅在 Android TV 主屏幕中表示应用。

由于横幅仅仅显示在主屏幕中,因此仅仅应由包括的 Activity 能够处理 CATEGORY_LEANBACK_LAUNCHER Intent 的应用指定。

必须将该属性设置为对包括图像的可绘制资源的引用(比如 “@drawable/banner”)。

没有默认横幅。

如需了解具体信息,请參阅“面向电视的 UI 模式”设计指南中的横幅。以及“电视应用入门指南”中的提供主屏幕横幅。

android:clearTaskOnLaunch是否每当从主屏幕又一次启动任务时都从中移除根 Activity 之外的全部 Activity —“true”表示始终将任务清除到仅仅剩其根 Activity;“false”表示不做清除。 默认值为“false”。该属性仅仅对启动新任务的 Activity(根 Activity)有意义;对于任务中的全部其它 Activity。均忽略该属性。
当值为“true”时。每次用户再次启动任务时,不管用户最后在任务中正在执行哪个 Activity,也不管用户是使用返回还是主屏幕button离开,都会将用户转至任务的根 Activity。 当值为“false”时,可在某些情况下清除任务中的 Activity(请參阅 alwaysRetainTaskState 属性),但并不是一律能够。

比如。假定有人从主屏幕启动了 Activity P,然后从那里转到 Activity Q。

该用户接着按了主屏幕button,然后返回到 Activity P。正常情况下。用户将看到 Activity Q。由于那是其最后在 P 的任务中执行的 Activity。 只是,假设 P 将此标志设置为“true”,则当用户按下主屏幕将任务转入后台时,其上的全部 Activity(在本例中为 Q)都会被移除。

因此用户返回任务时仅仅会看到 P。

假设该属性和 allowTaskReparenting 的值均为“true”。则如上所述,不论什么能够更改父项的 Activity 都将转移到与其有亲和关系的任务;其余 Activity 随即被移除。

android:configChanges列出 Activity 将自行处理的配置更改。在执行时发生配置更改时,默认情况下会关闭 Activity 然后将其又一次启动。但使用该属性声明配置将阻止 Activity 又一次启动。 Activity 反而会保持执行状态,而且系统会调用其 onConfigurationChanged() 方法。
注:应避免使用该属性,而且仅仅应在万不得已的情况下使用。 如需了解有关怎样正确处理配置更改所致又一次启动的具体信息,请阅读处理执行时变更。

不论什么或全部下列字符串均是该属性的有效值。多个值使用“|”分隔 — 比如,“locale|navigation|orientation”。
技术分享图片
全部这些配置变更都可能影响应用看到的资源值。 因此,调用 onConfigurationChanged() 时,通常有必要再次获取全部资源(包括视图布局、可绘制对象等),以正确处理变化。
android:documentLaunchMode指定每次启动任务时应怎样向当中加入新的 Activity 实例。 该属性同意用户让多个来自同一应用的文档出如今概览屏幕中。
该属性有四个值,会在用户使用该应用打开文档时产生下面效果:
“intoExisting” Activity 会为文档反复使用现有任务。

使用该值与不设置 FLAG_ACTIVITY_MULTIPLE_TASK 标志、但设置 FLAG_ACTIVITY_NEW_DOCUMENT 标志所产生的效果同样,如使用 Intent 标志加入任务中所述。


“always” Activity 为文档创建新任务。即便文档已打开也是如此。

这与同一时候设置 FLAG_ACTIVITY_NEW_DOCUMENT 和 FLAG_ACTIVITY_MULTIPLE_TASK 标志的效果同样。


“none” 该 Activity 不会为 Activity 创建新任务。

这是默认值,它仅仅会在设置了 FLAG_ACTIVITY_NEW_TASK 时创建新任务。

概览屏幕将按其默认方式对待此 Activity:为应用显示单个任务,该任务将从用户上次调用的随意 Activity 開始继续执行。


“never” 即使 Intent 包括 FLAG_ACTIVITY_NEW_DOCUMENT,该 Activity 也不会启动到新文档之中。 设置此值会替代 FLAG_ACTIVITY_NEW_DOCUMENT 和 FLAG_ACTIVITY_MULTIPLE_TASK 标志的行为(假设在 Activity 中设置了当中一个标志)。而且概览屏幕将为应用显示单个任务,该任务将从用户上次调用的随意 Activity 開始继续执行。


注:对于除“none”和“never”以外的值。必须使用 launchMode=”standard” 定义 Activity。 假设未指定此属性。则使用 documentLaunchMode=”none”。

android:enabled系统是否可将 Activity 实例化 — “true” 表示能够。“false”表示不能够。 默认值为“true”。
元素具有自己的 enabled 属性,该属性适用于全部应用组件,包括 Activity。 和 属性必须都是“true”(由于它们都默认使用该值),系统才干将 Activity 实例化。 假设不论什么一个属性是“false”。则无法进行实例化。

android:excludeFromRecents是否应将该 Activity 启动的任务排除在近期使用的应用列表(即概览屏幕)之外。 也就是说,当该 Activity 是新任务的根 Activity 时,此属性确定任务是否应出如今近期使用的应用列表中。

假设应将任务排除在列表之外,请设置“true”;假设应将其包括在内,则设置“false”。 默认值为“false”。

android:exportedActivity 是否可由其它应用的组件启动 —“true”表示能够,“false”表示不能够。若为“false”,则 Activity 仅仅能由同一应用的组件或使用同一用户 ID 的不同应用启动。
默认值取决于 Activity 是否包括 Intent 过滤器。没有不论什么过滤器意味着 Activity 仅仅能通过指定其确切的类名称进行调用。 这意味着 Activity 专供应用内部使用(由于其它应用不知晓其类名称)。

因此。在这样的情况下,默认值为“false”。还有一方面,至少存在一个过滤器意味着 Activity 专供外部使用,因此默认值为“true”。

该属性并不是限制 Activity 对其它应用开放度的唯一手段。 您还能够利用权限来限制哪些外部实体能够调用 Activity(请參阅 permission 属性)。

android:finishOnTaskLaunch每当用户再次启动其任务(在主屏幕上选择任务)时,是否应关闭(完毕)现有 Activity 实例 —“true”表示应关闭。“false”表示不应关闭。 默认值为“false”。
假设该属性和 allowTaskReparenting 均为“true”,则优先使用该属性。 Activity 的亲和关系会被忽略。 系统不是更改 Activity 的父项,而是将其销毁。

android:hardwareAccelerated是否应为此 Activity 启用硬件加速渲染 —“true”表示应启用,“false”表示不应启用。 默认值为“false”。
从 Android 3.0 開始。为应用提供了硬件加速 OpenGL 渲染器,以改善很多常见 2D 图形运算的性能。 启用硬件加速渲染器时。Canvas、Paint、Xfermode、ColorFilter、Shader 和 Camera 中的大多数运算都会得到加速。这能够提高动画、滚动的流畅度和总体响应速度。即便是并不明白使用框架 OpenGL 库的应用也会受益。 由于启用硬件加速会添加资源消耗。因此您的应用将占用很多其它内存。

请注意。并不是全部 OpenGL 2D 运算都会得到加速。假设您启用硬件加速渲染器,请对应用进行測试,以确保其在利用渲染器时不会出错。

android:icon一个表示 Activity 的图标。

该图标会在须要在屏幕上表示 Activity 时显示给用户。

比如。代表启动任务的 Activity 的图标显示在启动器窗体中。该图标通常附带标签(请參阅 android:label 属性)。

必须将该属性设置为对包括图像定义的可绘制资源的引用。

假设未设置该属性,则改为使用为应用总体指定的图标(请參阅 元素的 icon 属性)。

这个 Activity 的图标 — 不管设置于此处还是由 元素设置 — 同一时候也是 Activity 全部 Intent 过滤器的默认图标(请參阅 元素的 icon 属性)。

android:label一种可由用户读取的 Activity 标签。

该标签会在必须将 Activity 呈现给用户时显示在屏幕上。 它通常与 Activity 图标一并显示。
假设未设置该属性,则改为使用为应用总体设置的标签(请參阅 元素的 label 属性)。

这个 Activity 的标签 — 不管设置于此处还是由 元素设置 — 同一时候也是 Activity 全部 Intent 过滤器的默认标签(请參阅 元素的 label 属性)。

应将该标签设置为对字符串资源的引用。以便能够像用户界面中的其它字符串那样进行本地化。只是。为便于您开发应用,也可将其设置为原始字符串。

android:launchMode有关应怎样启动 Activity 的指令。共同拥有四种模式与 Intent 对象中的 Activity 标志(FLAG_ACTIVITY_* 常量)协同工作,以确定在调用 Activity 处理 Intent 时应执行的操作。

这些模式是:

“standard”
“singleTop”
“singleTask”
“singleInstance”

默认模式是“standard”。

例如以下表所看到的,这些模式分为两大类。“standard”和“singleTop”Activity 为一类,“singleTask”和“singleInstance”为还有一类。使用“standard”或“singleTop”启动模式的 Activity 可多次实例化。 实例可归属不论什么任务,而且能够位于 Activity 堆栈中的不论什么位置。 它们通常启动到名为 startActivity() 的任务之中(除非 Intent 对象包括 FLAG_ACTIVITY_NEW_TASK 指令,在此情况下会选择其它任务 — 请參阅 taskAffinity 属性)。

相比之下,“singleTask”和“singleInstance”Activity 仅仅能启动任务。

它们始终位于 Activity 堆栈的根位置。此外,设备一次仅仅能保留一个 Activity 实例 — 仅仅同意一个此类任务。

“standard”和“singleTop”模式仅仅在一个方面有差异: 每次“standard”Activity 有新的 Intent 时,系统都会创建新的类实例来响应该 Intent。

每一个实例处理单个 Intent。同理,也可创建新的“singleTop”Activity 实例来处理新的 Intent。

只是,假设目标任务在其堆栈顶部已有一个 Activity 实例。那么该实例将接收新 Intent(通过调用 onNewIntent());此时不会创建新实例。

在其它情况下 — 比如。假设“singleTop”的一个现有实例虽在目标任务内,但未处于堆栈顶部,或者尽管位于堆栈顶部。但不在目标任务中 — 则系统会创建一个新实例并将其推送到堆栈上。

同理,假设您向上导航到当前堆栈上的某个 Activity。该行为由父 Activity 的启动模式决定。 假设父 Activity 有启动模式 singleTop(或 up Intent 包括 FLAG_ACTIVITY_CLEAR_TOP)。则系统会将该父项置于堆栈顶部。并保留其状态。 导航 Intent 由父 Activity 的 onNewIntent() 方法接收。

假设父 Activity 有启动模式 standard(而且 up Intent 不包括 FLAG_ACTIVITY_CLEAR_TOP)。则系统会将当前 Activity 及其父项同一时候弹出堆栈。并创建一个新的父 Activity 实例来接收导航 Intent。

“singleTask”和“singleInstance”模式同样仅仅在一个方面有差异: “singleTask”Activity 同意其它 Activity 成为其任务的组成部分。 它始终位于其任务的根位置,但其它 Activity(必定是“standard”和“singleTop”Activity)能够启动到该任务中。 相反,“singleInstance”Activity 则不同意其它 Activity 成为其任务的组成部分。它是任务中唯一的 Activity。 假设它启动还有一个 Activity,系统会将该 Activity 分配给其它任务 — 就好像 Intent 中包括 FLAG_ACTIVITY_NEW_TASK 一样。
技术分享图片

如上表所看到的,standard 是默认模式。而且适用于大多数的 Activity 类型。对很多类型的 Activity 而言,SingleTop 也是一个常见而且实用的启动模式。 其它模式 — singleTask 和 singleInstance - 不适合 大多数应用由于它们所形成的交互模式可能让用户感到陌生,而且与大多数其它应用迥异。

不管您选择哪一种启动模式,请务必在启动期间以及使用返回button从其它 Activity 和任务返回该 Activity 时对其进行易用性測试。

如需了解有关启动模式及其与 Intent 标志交互的具体信息,请參阅任务和返回栈文档。

android:maxRecents概览屏幕中位于此 Activity 根位置的任务数上限。 达到该条目数时,系统会从概览屏幕中移除近期最少使用的实例。 有效值为 1-50(低内存设备使用 25);0 为无效值。 该值必须是整数,比如 50。

默认值为 16。


android:multiprocess能否够将 Activity 实例启动到启动该实例的组件进程内 —“true”表示能够,“false”表示不能够。默认值为“false”。
正常情况下。新的 Activity 实例会启动到定义它的应用进程内。因此全部 Activity 实例都在同一进程内执行。

只是,假设该标志设置为“true”,Activity 实例便可在多个进程内执行,这样系统就能在不论什么使用实例的地方创建实例(前提是权限同意这样做),但这差点儿毫无必要性或可取之处。

android:name实现 Activity 的类的名称。是 Activity 的子类。 该属性值应为全然限定类名称(比如,“com.example.project.ExtracurricularActivity”)。只是,为了简便起见,假设名称的第一个字符是句点(比如。“.ExtracurricularActivity”),则名称将追加到 元素中指定的软件包名称。
应用一旦公布。即不应更改该名称(除非您设置了 android:exported=”false”)。

没有默认值。

必须指定该名称。

android:noHistory当用户离开 Activity 而且其在屏幕上不再可见时,是否应从 Activity 堆栈中将其移除并完毕(调用其 finish() 方法)—“true”表示应将其完毕,“false”表示不应将其完毕。 默认值为“false”。
“true”一值表示 Activity 不会留下历史轨迹。

它不会留在任务的 Activity 堆栈内,因此用户将无法返回 Activity。 在此情况下,假设您启动还有一个 Activity 来获取该 Activity 的结果。系统永远不会调用 onActivityResult()。

该属性是在 API 级别 3 引入的。

android:parentActivityNameActivity 逻辑父项的类名称。此处的名称必须与为对应 元素的 android:name 属性指定的类名称一致。
系统会读取该属性,以确定当用户按下操作栏中的“向上”button时应该启动哪一个 Activity。 系统还能够利用这些信息通过 TaskStackBuilder 合成 Activity 的返回栈。

要支持 API 级别 4 - 16,您还能够使用为 “android.support.PARENT_ACTIVITY” 指定值的 元素来声明父 Activity。比如:

<activity
    android:name="com.example.app.ChildActivity"
    android:label="@string/title_child_activity"
    android:parentActivityName="com.example.app.MainActivity" >
    
    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value="com.example.app.MainActivity" />
activity>

如需了解有关声明父 Activity 以支持向上导航的具体信息,请阅读提供向上导航。

该属性是在 API 级别 16 引入的。

android:permissionclient启动 Activity 或以其它方式令其响应 Intent 而必须具备的权限的名称。

假设系统尚未向 startActivity() 或 startActivityForResult() 的调用方授予指定权限,其 Intent 将不会传递给 Activity。


假设未设置该属性,则对 Activity 应用 元素的 permission 属性设置的权限。 假设这两个属性均未设置,则 Activity 不受权限保护。

如需了解有关权限的具体信息。请參阅简单介绍的权限一节和还有一份文档安全与权限。

android:process应在当中执行 Activity 的进程的名称。

正常情况下,应用的全部组件都在为应用创建的默认进程名称内执行。您无需使用该属性。

但在必要时,您能够使用该属性替换默认进程名称,以便让应用组件散布到多个进程中。
假设为该属性分配的名称以冒号(“:”)开头,则会在须要时创建应用专用的新进程。而且 Activity 会在该进程中执行。假设进程名称以小写字符开头,Activity 将在该名称的全局进程中执行,前提是它拥有对应的权限。这能够让不同应用中的组件共享一个进程,从而降低资源占用。

元素的 process 属性可为全部组件设置一个不同的默认进程名称。

android:relinquishTaskIdentityActivity 是否将其任务标识符交给任务栈中在其之上的 Activity。 假设任务根 Activity 的该属性设置为“true”,则任务会用其内的下一个 Activity 的 Intent 替换基本 Intent。

假设下一个 Activity 的该属性也设置为“true”。则该 Activity 会将基本 Intent 给予其在同一任务中启动的不论什么 Activity。 系统继续为每一个 Activity 执行此过程,直至遇到的某个 Activity 将该属性设置为“false”为止。 默认值为“false”。
假设该属性设置为“true”。则 Activity 还可利用 ActivityManager.TaskDescription 来更改概览屏幕中的标签、颜色和图标。
resizeableActivity
指定应用是否支持多窗体显示。

您能够在 或 元素中设置该属性。

假设您将该属性设置为 true。则用户能够分屏和自由形状模式启动 Activity。 假设您将该属性设置为 false,Activity 将不支持多窗体模式。 假设该值为 false,且用户尝试在多窗体模式下启动 Activity,该 Activity 将全屏显示。

假设您的应用面向 API 级别 24 或更高级别,但未对该属性指定值,则该属性的值默认设为 true。

该属性是在 API 级别 24 加入的。

android:screenOrientationActivity 在设备上的显示方向。假设 Activity 是在多窗体模式下执行。系统会忽略该属性。
其值能够是下列任一字符串:
技术分享图片
注:假设您声明当中一个横向或纵向值,系统将其视为对 Activity 执行方向的硬性要求。 因此。您声明的值支持通过 Google Play 之类的服务进行过滤。这样就能将您的应用仅仅提供给支持 Activity 所要求方向的设备。 比如,假设您声明了 “landscape”、”reverseLandscape” 或 “sensorLandscape”。则您的应用将仅仅提供给支持横向方向的设备。 只是。您还应通过 元素明白声明,您的应用要求採用纵向或横向方向。 比如。。这纯粹是 Google Play(以及其它支持它的服务)提供的一种过滤行为,平台本身并不能控制当设备仅支持特定方向时您的应用能否安装。

android:stateNotNeeded能否在不保存 Activity 状态的情况下将其终止并成功又一次启动 —“true”表示可在不考虑其之前状态的情况下又一次启动,“false”表示须要之前状态。

默认值为“false”。
正常情况下,为保存资源而临时关闭 Activity 前,系统会调用其 onSaveInstanceState() 方法。 该方法将 Activity 的当前状态存储在一个 Bundle 对象中,然后在 Activity 又一次启动时将其传递给 onCreate()。 假设该属性设置为“true”,系统可能不会调用 onSaveInstanceState()。而且会向 onCreate() 传递 null 而不是 Bundle - 这与它在 Activity 首次启动时全然一样。

“true”设置可确保 Activity 能够在未保留状态时又一次启动。 比如。显示主屏幕的 Activity 能够使用该设置来确保其由于某种原因崩溃时不会被移除。


supportsPictureInPicture
指定 Activity 是否支持画中画 显示。假设 android:resizeableActivity 是 false,系统会忽略该属性。

该属性是在 API 级别 24 加入的。

android:taskAffinity与 Activity 有着亲和关系的任务。

从概念上讲。具有同样亲和关系的 Activity 归属同一任务(从用户的角度来看,则是归属同一“应用”)。

任务的亲和关系由其根 Activity 的亲和关系确定。
亲和关系确定两件事 - Activity 更改到的父项任务(请參阅 allowTaskReparenting 属性)和通过 FLAG_ACTIVITY_NEW_TASK 标志启动 Activity 时将用来容纳它的任务。

默认情况下。应用中的全部 Activity 都具有同样的亲和关系。您能够设置该属性来以不同方式组合它们,甚至能够将在不同应用中定义的 Activity 置于同一任务内。 要指定 Activity 与不论什么任务均无亲和关系,请将其设置为空字符串。

假设未设置该属性,则 Activity 继承为应用设置的亲和关系(请參阅 元素的 taskAffinity 属性)。

应用默认亲和关系的名称是 元素设置的软件包名称。

android:theme对定义 Activity 总体主题的样式资源的引用。

它会自己主动将 Activity 的上下文设置为使用该主题(请參阅 setTheme()),它还能够引发 Activity 启动前的“启动”动画(以更加符合 Activity 的实际外观)。
假设未设置该属性,则 Activity 继承通过 元素的 theme 属性为应用总体设置的主题。

假设该属性也未设置,则使用默认系统主题。如需了解具体信息,请參阅样式和主题开发人员指南。

android:uiOptions针对 Activity UI 的附加选项。
必须是下列值之中的一个。
“none” 无附加 UI 选项。这是默认值。


“splitActionBarWhenNarrow” 当水平空间受限时(比如在手持设备上的纵向模式下时)在屏幕底部加入一个栏以显示应用栏(也称为操作栏)中的操作项)。 应用栏不是以少量操作项形式出如今屏幕顶部的应用栏中,而是分成了顶部导航区和底部操作项栏。

这能够确保操作项以及顶部的导航和标题元素都能获得合理的空间。 菜单项不会拆分到两个栏中,它们始终一起出现。

如需了解有关应用栏的具体信息,请參阅加入应用栏培训课。

该属性是在 API 级别 14 加入的。

android:windowSoftInputModeActivity 的主窗体与包括屏幕软键盘的窗体的交互方式。 该属性的设置影响两个方面: ?当 Activity 成为用户注意的焦点时软键盘的状态 — 隐藏还是可见。
?对 Activity 主窗体所做的调整 — 是否将其尺寸调小以为软键盘腾出空间,或者当窗体部分被软键盘遮挡时是否平移其内容以使当前焦点可见。

该设置必须是下表所列的值之中的一个,或者是一个“state…”值加上一个“adjust…”值的组合。 在任一组中设置多个值(比如,多个“state…”值)都会产生没有定义结果。各值之间使用垂直条 (|) 分隔。 比如:

<activity android:windowSoftInputMode="stateVisible|adjustResize" . . . >

此处设置的值(“stateUnspecified”和“adjustUnspecified”除外)替换主题中设置的值。


技术分享图片

该属性是在 API 级别 3 引入的。
引入的版本号:API 级别 1。为 noHistory 和 windowSoftInputMode 之外的全部属性引入。这两个属性则是在 API 级别 3 中添加。

AndroidMainfest.xml具体解释——


推荐阅读
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • 深入理解CSS中的margin属性及其应用场景
    本文主要介绍了CSS中的margin属性及其应用场景,包括垂直外边距合并、padding的使用时机、行内替换元素与费替换元素的区别、margin的基线、盒子的物理大小、显示大小、逻辑大小等知识点。通过深入理解这些概念,读者可以更好地掌握margin的用法和原理。同时,文中提供了一些相关的文档和规范供读者参考。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 本文介绍了一种解析GRE报文长度的方法,通过分析GRE报文头中的标志位来计算报文长度。具体实现步骤包括获取GRE报文头指针、提取标志位、计算报文长度等。该方法可以帮助用户准确地获取GRE报文的长度信息。 ... [详细]
  • PDF内容编辑的两种小方法,你知道怎么操作吗?
    本文介绍了两种PDF内容编辑的方法:迅捷PDF编辑器和Adobe Acrobat DC。使用迅捷PDF编辑器,用户可以通过选择需要更改的文字内容并设置字体形式、大小和颜色来编辑PDF文件。而使用Adobe Acrobat DC,则可以通过在软件中点击编辑来编辑PDF文件。PDF文件的编辑可以帮助办公人员进行文件内容的修改和定制。 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
  • Redis底层数据结构之压缩列表的介绍及实现原理
    本文介绍了Redis底层数据结构之压缩列表的概念、实现原理以及使用场景。压缩列表是Redis为了节约内存而开发的一种顺序数据结构,由特殊编码的连续内存块组成。文章详细解释了压缩列表的构成和各个属性的含义,以及如何通过指针来计算表尾节点的地址。压缩列表适用于列表键和哈希键中只包含少量小整数值和短字符串的情况。通过使用压缩列表,可以有效减少内存占用,提升Redis的性能。 ... [详细]
author-avatar
keleesen
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有