Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> AndroidMainfest.xml詳解——(activity)

AndroidMainfest.xml詳解——(activity)

編輯:關於Android編程

語法:

   
    . . .

包含它的文件:
可包含:
說明:聲明一個實現應用的部分可視化用戶界面的 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,也無論用戶是使用返回還是主屏幕按鈕離開,都會將用戶轉至任務的根 Activity。 當值為“false”時,可在某些情況下清除任務中的 Activity(請參閱 alwaysRetainTaskState 屬性),但並非一律可以。

例如,假定有人從主屏幕啟動了 Activity P,然後從那裡轉到 Activity Q。該用戶接著按了主屏幕按鈕,然後返回到 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”。 <喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxwPmFuZHJvaWQ6ZW5hYmxlZM+1zbPKx7fxv8m9qyBBY3Rpdml0eSDKtcD9u68gJm1kYXNoOyAmbGRxdW87dHJ1ZSZyZHF1bzsgse3Kvr/J0tSjrCZsZHF1bztmYWxzZSZyZHF1bzux7cq+sru/ydLUoaMgxKzIz9a1zqombGRxdW87dHJ1ZSZyZHF1bzuhozxiciAvPg0K1KrL2L7f09DX1Ly6tcQgZW5hYmxlZCDK9NDUo6y4w8r00NTKytPD09rL+dPQ06bTw9fpvP6jrLD8wKggQWN0aXZpdHmhoyC6zSDK9NDUsdjQ67a8yscmbGRxdW87dHJ1ZSZyZHF1bzujqNLyzqrL/MPHtrzErMjPyrnTw7jD1rWjqaOsz7XNs7LFxNy9qyBBY3Rpdml0eSDKtcD9u6+hoyDI57n7yM66ztK7uPbK9NDUyscmbGRxdW87ZmFsc2UmcmRxdW87o6zU8s7et6i9+NDQyrXA/buvoaMgPC9jb2RlPjwvY29kZT48L3A+DQo8cD5hbmRyb2lkOmV4Y2x1ZGVGcm9tUmVjZW50c8rHt/HTpr2ruMMgQWN0aXZpdHkgxvS2r7XEyM7O8cXFs/3U2tfuvfzKudPDtcTTptPDwdCx7aOovLS4xcDAxsHEu6Op1q7N4qGjINKyvs3Kx8u1o6y1sbjDIEFjdGl2aXR5IMrH0MLIzs7xtcS4+SBBY3Rpdml0eSDKsaOstMvK9NDUyLe2qMjOzvHKx7fx06az9s/W1NrX7r38yrnTw7XE06bTw8HQse3W0KGjIMjnufvTpr2ryM7O8cXFs/3U2sHQse3Wrs3io6zH68no1sMmbGRxdW87dHJ1ZSZyZHF1bzuju8jnufvTpr2rxuSw/MCo1NrE2qOs1PLJ6NbDJmxkcXVvO2ZhbHNlJnJkcXVvO6GjIMSsyM/Wtc6qJmxkcXVvO2ZhbHNlJnJkcXVvO6GjIDwvY29kZT48L2NvZGU+PC9wPg0KPHA+YW5kcm9pZDpleHBvcnRlZEFjdGl2aXR5IMrHt/G/ydPJxuTL+9Om08O1xNfpvP7G9LavICZtZGFzaDsmbGRxdW87dHJ1ZSZyZHF1bzux7cq+v8nS1KOsJmxkcXVvO2ZhbHNlJnJkcXVvO7Htyr6yu7/J0tSho8j0zqombGRxdW87ZmFsc2UmcmRxdW87o6zU8iBBY3Rpdml0eSDWu8Tc08nNrNK706bTw7XE1+m8/rvyyrnTw82s0rvTw7unIElEILXEsrvNrNOm08PG9LavoaM8YnIgLz4NCsSsyM/WtcihvvbT2iBBY3Rpdml0eSDKx7fxsPy6rCBJbnRlbnQguf3Cy8b3oaPDu9PQyM66zrn9wsvG99LizrbXxSBBY3Rpdml0eSDWu8Tczai5/da4tqjG5Mi3x9C1xMDgw/uzxr340NC199PDoaMg1eLS4s6218UgQWN0aXZpdHkg16i5qdOm08PE2rK/yrnTw6Oo0vLOqsbky/vTptPDsrvWqs/+xuTA4MP7s8ajqaGjINLytMujrNTa1eLW1sfpv/bPwqOsxKzIz9a1zqombGRxdW87ZmFsc2UmcmRxdW87oaPB7dK7t73D5qOs1sHJ2bTm1NrSu7j2uf3Cy8b30uLOttfFIEFjdGl2aXR5INeouanN4rK/yrnTw6Os0vK0y8SsyM/Wtc6qJmxkcXVvO3RydWUmcmRxdW87oaMgPC9jb2RlPjwvY29kZT48L3A+DQo8cD64w8r00NSyorfHz97WxiBBY3Rpdml0eSC21Mbky/vTptPDv6q3xbbItcTOqNK7yta2zqGjIMT6u7m/ydLUwPvTw8ioz97AtM/e1sbExNCpzeKyv8q1zOW/ydLUtffTwyBBY3Rpdml0eaOox+uyztTEIHBlcm1pc3Npb24gyvTQ1KOpoaMgPC9jb2RlPjwvY29kZT48L3A+DQo8cD5hbmRyb2lkOmZpbmlzaE9uVGFza0xhdW5jaMO/tbHTw7un1Nm0zsb0tq/G5MjOzvGjqNTa1vfGwcS7yc/RodTxyM7O8aOpyrGjrMrHt/HTprnYsdWjqM3qs8mjqc/W09AgQWN0aXZpdHkgyrXA/SAmbWRhc2g7JmxkcXVvO3RydWUmcmRxdW87se3KvtOmudix1aOsJmxkcXVvO2ZhbHNlJnJkcXVvO7Htyr6yu9Omudix1aGjIMSsyM/Wtc6qJmxkcXVvO2ZhbHNlJnJkcXVvO6GjPGJyIC8+DQrI57n7uMPK9NDUus0gYWxsb3dUYXNrUmVwYXJlbnRpbmcgvvnOqiZsZHF1bzt0cnVlJnJkcXVvO6Os1PLTxc/IyrnTw7jDyvTQ1KGjIEFjdGl2aXR5ILXEx9e6zbnYz7W74bG7uvbC1KGjIM+1zbOyu8rHuPy4xCBBY3Rpdml0eSC1xLi4z+6jrLb4yse9q8bkz/q72aGjIDwvY29kZT48L2NvZGU+PC9wPg0KPHA+YW5kcm9pZDpoYXJkd2FyZUFjY2VsZXJhdGVkyse38dOmzqq0yyBBY3Rpdml0eSDG9NPD07K8/rzTy9nk1si+ICZtZGFzaDsmbGRxdW87dHJ1ZSZyZHF1bzux7cq+06bG9NPDo6wmbGRxdW87ZmFsc2UmcmRxdW87se3KvrK706bG9NPDoaMgxKzIz9a1zqombGRxdW87ZmFsc2UmcmRxdW87oaM8YnIgLz4NCrTTIEFuZHJvaWQgMy4wIL+qyryjrM6q06bTw8zhuanBy9OyvP6808vZIE9wZW5HTCDk1si+xvejrNLUuMTJxtDttuCzo7z7IDJEIM280M7Uy8vjtcTQ1MTcoaMgxvTTw9OyvP6808vZ5NbIvsb3yrGjrENhbnZhc6GiUGFpbnSholhmZXJtb2RloaJDb2xvckZpbHRlcqGiU2hhZGVyILrNIENhbWVyYSDW0LXEtPO24Mr91MvL47a8u+G1w7W9vNPL2aGj1eK/ydLUzOG437avu62horn2tq+1xMH3s6m2yLrN19zM5c/s06bL2bbIo6y8tLHjyseyorK7w/fIt8q508O/8rzcIE9wZW5HTCC/4rXE06bTw9Kyu+HK3NLmoaMg08nT2sb008PTsrz+vNPL2bvh1Pa809fK1LTP+7rEo6zS8rTLxPq1xNOm08O9q9W808O4/LbgxNq05qGjIDwvY29kZT48L2NvZGU+PC9wPg0KPHA+x+vXotLio6yyorfHy/nT0CBPcGVuR0wgMkQg1MvL47a8u+G1w7W9vNPL2aGjyOe5+8T6xvTTw9OyvP6808vZ5NbIvsb3o6zH67bU06bTw7340NCy4srUo6zS1Mi3saPG5NTawPvTw+TWyL7G98qxsru74bP2tO2hoyA8L2NvZGU+PC9jb2RlPjwvcD4NCjxwPmFuZHJvaWQ6aWNvbtK7uPax7cq+IEFjdGl2aXR5ILXEzbyx6qGjuMPNvLHqu+HU2tDo0qrU2sbBxLvJz7Htyr4gQWN0aXZpdHkgyrHP1Mq+uPjTw7unoaMgwP3I56OstPqx7cb0tq/Izs7xtcQgQWN0aXZpdHkgtcTNvLHqz9TKvtTaxvS2r8b3tLC/2tbQoaO4w828serNqLOjuL20+LHqx6mjqMfrss7UxCBhbmRyb2lkOmxhYmVsIMr00NSjqaGjIDwvY29kZT48L2NvZGU+PC9wPg0KPHA+sdjQ672ruMPK9NDUyejWw86qttSw/LqszbzP8bao0uW1xL/Ju+bWxtfK1LS1xNL908OhoyDI57n7zrTJ6NbDuMPK9NDUo6zU8rjEzqrKudPDzqrTptPD1fvM5da4tqi1xM28seqjqMfrss7UxCDUqsvYtcQgaWNvbiDK9NDUo6mhoyA8L2NvZGU+PC9jb2RlPjwvcD4NCjxwPtXiuPYgQWN0aXZpdHkgtcTNvLHqICZtZGFzaDsgzt7C28no1sPT2rTLtKa7ucrH08kg1KrL2Mno1sMgJm1kYXNoOyDNrMqx0rLKxyBBY3Rpdml0eSDL+dPQIEludGVudCC5/cLLxve1xMSsyM/NvLHqo6jH67LO1MQg1KrL2LXEIGljb24gyvTQ1KOpoaMgPC9jb2RlPjwvY29kZT48L3A+DQo8cD5hbmRyb2lkOmxhYmVs0rvW1r/J08nTw7untsHIobXEIEFjdGl2aXR5ILHqx6mho7jDserHqbvh1Nqx2NDrvasgQWN0aXZpdHkgs8rP1rj408O7p8qxz9TKvtTaxsHEu8nPoaMgy/zNqLOj0+sgQWN0aXZpdHkgzbyx6tK7sqLP1Mq+oaM8YnIgLz4NCsjnufvOtMno1sO4w8r00NSjrNTyuMTOqsq508POqtOm08PV+8zlyejWw7XEserHqaOox+uyztTEINSqy9i1xCBsYWJlbCDK9NDUo6mhoyA8L2NvZGU+PC9jb2RlPjwvcD4NCjxwPtXiuPYgQWN0aXZpdHkgtcSx6sepICZtZGFzaDsgzt7C28no1sPT2rTLtKa7ucrH08kg1KrL2Mno1sMgJm1kYXNoOyDNrMqx0rLKxyBBY3Rpdml0eSDL+dPQIEludGVudCC5/cLLxve1xMSsyM+x6sepo6jH67LO1MQg1KrL2LXEIGxhYmVsIMr00NSjqaGjIDwvY29kZT48L2NvZGU+PC9wPg0KPHA+06a9q7jDserHqcno1sPOqrbU19a3+7Su18rUtLXE0v3Tw6Os0tSx47/J0tTP8dPDu6e958Pm1tC1xMbky/vX1rf7tK7Ex9H5vfjQ0LG+tdi7r6Gjsru5/aOszqqx49PaxPq/qrei06bTw6Os0rK/yb2rxuTJ6NbDzqrUrcq819a3+7SuoaMgPC9jb2RlPjwvY29kZT48L3A+DQo8cD5hbmRyb2lkOmxhdW5jaE1vZGXT0LnY06bI57rOxvS2ryBBY3Rpdml0eSC1xNa4we6ho7my09DLxNbWxKPKvdPrIEludGVudCC21M/z1tC1xCBBY3Rpdml0eSCx6ta+o6hGTEFHX0FDVElWSVRZXyogs6PBv6Op0K3NrLmk1/ejrNLUyLe2qNTatffTwyBBY3Rpdml0eSC0psDtIEludGVudCDKsdOm1rTQ0LXEstnX96GjINXi0KnEo8q9ysejujwvY29kZT48L2NvZGU+PC9wPg0KPHA+JmxkcXVvO3N0YW5kYXJkJnJkcXVvOzxiciAvPg0KJmxkcXVvO3NpbmdsZVRvcCZyZHF1bzs8YnIgLz4NCiZsZHF1bztzaW5nbGVUYXNrJnJkcXVvOzxiciAvPg0KJmxkcXVvO3NpbmdsZUluc3RhbmNlJnJkcXVvOzwvY29kZT48L2NvZGU+PC9wPg0KPHA+xKzIz8Sjyr3KxyZsZHF1bztzdGFuZGFyZCZyZHF1bzuhoyA8L2NvZGU+PC9jb2RlPjwvcD4NCjxwPsjnz8Kx7cv5yr6jrNXi0KnEo8q9t9bOqsG9tPPA4KOsJmxkcXVvO3N0YW5kYXJkJnJkcXVvO7rNJmxkcXVvO3NpbmdsZVRvcCZyZHF1bztBY3Rpdml0eSDOqtK7wOCjrCZsZHF1bztzaW5nbGVUYXNrJnJkcXVvO7rNJmxkcXVvO3NpbmdsZUluc3RhbmNlJnJkcXVvO86qwe3Su8DgoaPKudPDJmxkcXVvO3N0YW5kYXJkJnJkcXVvO7vyJmxkcXVvO3NpbmdsZVRvcCZyZHF1bzvG9LavxKPKvbXEIEFjdGl2aXR5IL/JtuC0zsq1wP27r6GjIMq1wP2/ybnpyvTIzrrOyM7O8aOssqLH0r/J0tTOu9PaIEFjdGl2aXR5ILbR1bvW0LXEyM66zs671sOhoyDL/MPHzaizo8b0tq+1vcP7zqogc3RhcnRBY3Rpdml0eSgpILXEyM7O8dau1tCjqLP9t8cgSW50ZW50ILbUz/Ow/LqsIEZMQUdfQUNUSVZJVFlfTkVXX1RBU0sg1rjB7qOs1Nq0y8fpv/bPwrvh0aHU8cbky/vIzs7xICZtZGFzaDsgx+uyztTEIHRhc2tBZmZpbml0eSDK9NDUo6mhoyA8L2NvZGU+PC9jb2RlPjwvcD4NCjxwPs/gscjWrs/Co6wmbGRxdW87c2luZ2xlVGFzayZyZHF1bzu6zSZsZHF1bztzaW5nbGVJbnN0YW5jZSZyZHF1bztBY3Rpdml0eSDWu8TcxvS2r8jOzvGhoyDL/MPHyrzW1c6709ogQWN0aXZpdHkgttHVu7XEuPnOu9bDoaO0y83io6zJ6LG40ru0zta7xNyxo8H00ru49iBBY3Rpdml0eSDKtcD9ICZtZGFzaDsg1rvUytDt0ru49rTLwODIzs7xoaMgPC9jb2RlPjwvY29kZT48L3A+DQo8cD4mbGRxdW87c3RhbmRhcmQmcmRxdW87us0mbGRxdW87c2luZ2xlVG9wJnJkcXVvO8Sjyr3Wu9Ta0ru49re9w+bT0LLu0uyjuiDDv7TOJmxkcXVvO3N0YW5kYXJkJnJkcXVvO0FjdGl2aXR5INPQ0MK1xCBJbnRlbnQgyrGjrM+1zbO2vLvhtLS9qNDCtcTA4Mq1wP3AtM/s06a4wyBJbnRlbnSho8O/uPbKtcD9tKbA7bWluPYgSW50ZW50oaPNrMDto6zSsr/JtLS9qNDCtcQmbGRxdW87c2luZ2xlVG9wJnJkcXVvO0FjdGl2aXR5IMq1wP3AtLSmwO3QwrXEIEludGVudKGjILK7uf2jrMjnufvEv7HqyM7O8dTaxuS20dW7tqWyv9LR09DSu7j2IEFjdGl2aXR5IMq1wP2jrMTHw7S4w8q1wP29q73TytXQwiBJbnRlbnSjqM2ouf2199PDIG9uTmV3SW50ZW50KCmjqaO7tMvKsbK7u+G0tL2o0MLKtcD9oaPU2sbky/vH6b/2z8IgJm1kYXNoOyDA/cjno6zI57n7JmxkcXVvO3NpbmdsZVRvcCZyZHF1bzu1xNK7uPbP1tPQyrXA/cvk1NrEv7HqyM7O8cTao6y1q860tKbT2rbR1bu2pbK/o6y78tXfy+TIu86709q20dW7tqWyv6Ostauyu9TaxL+x6sjOzvHW0CAmbWRhc2g7INTyz7XNs7vhtLS9qNK7uPbQwsq1wP2yor2rxuTNxsvNtb220dW7yc+hoyA8L2NvZGU+PC9jb2RlPjwvcD4NCjxwPs2swO2jrMjnufvE+s/yyc+1vLq9tb21scewttHVu8nPtcTEs7j2IEFjdGl2aXR5o6y4w9DQzqrTybi4IEFjdGl2aXR5ILXExvS2r8Sjyr2+9raooaMgyOe5+7i4IEFjdGl2aXR5INPQxvS2r8Sjyr0gc2luZ2xlVG9wo6i78iB1cCBJbnRlbnQgsPy6rCBGTEFHX0FDVElWSVRZX0NMRUFSX1RPUKOpo6zU8s+1zbO74b2ruMO4uM/u1sPT2rbR1bu2pbK/o6yyorGjwfTG5Ne0zKyhoyC1vLq9IEludGVudCDTybi4IEFjdGl2aXR5ILXEIG9uTmV3SW50ZW50KCkgt723qL3TytWhoyDI57n7uLggQWN0aXZpdHkg09DG9LavxKPKvSBzdGFuZGFyZKOosqLH0iB1cCBJbnRlbnQgsruw/LqsIEZMQUdfQUNUSVZJVFlfQ0xFQVJfVE9Qo6mjrNTyz7XNs7vhvau1scewIEFjdGl2aXR5ILywxuS4uM/uzazKsbWvs/a20dW7o6yyorS0vajSu7j20MK1xLi4IEFjdGl2aXR5IMq1wP3AtL3TytW1vLq9IEludGVudKGjIDwvY29kZT48L2NvZGU+PC9wPg0KPHA+JmxkcXVvO3NpbmdsZVRhc2smcmRxdW87us0mbGRxdW87c2luZ2xlSW5zdGFuY2UmcmRxdW87xKPKvc2s0fnWu9Ta0ru49re9w+bT0LLu0uyjuiAmbGRxdW87c2luZ2xlVGFzayZyZHF1bztBY3Rpdml0eSDUytDtxuTL+yBBY3Rpdml0eSCzyc6qxuTIzs7xtcTX6bPJsr+31qGjIMv8yrzW1c6709rG5MjOzvG1xLj5zrvWw6OstavG5Mv7IEFjdGl2aXR5o6ix2Mi7yscmbGRxdW87c3RhbmRhcmQmcmRxdW87us0mbGRxdW87c2luZ2xlVG9wJnJkcXVvO0FjdGl2aXR5o6m/ydLUxvS2r7W9uMPIzs7x1tChoyDP4Le0o6wmbGRxdW87c2luZ2xlSW5zdGFuY2UmcmRxdW87QWN0aXZpdHkg1PKyu9TK0O3G5Mv7IEFjdGl2aXR5ILPJzqrG5MjOzvG1xNfps8myv7fWoaPL/MrHyM7O8dbQzqjSu7XEIEFjdGl2aXR5oaMgyOe5+8v8xvS2r8Ht0ru49iBBY3Rpdml0eaOsz7XNs7vhvau4wyBBY3Rpdml0eSC31sXkuPjG5Mv7yM7O8SAmbWRhc2g7IL7NusPP8SBJbnRlbnQg1tCw/LqsIEZMQUdfQUNUSVZJVFlfTkVXX1RBU0sg0rvR+aGjPGJyIC8+DQo8aW1nIGFsdD0="這裡寫圖片描述" src="/uploadfile/Collfiles/20170110/2017011011061435.png" title="\" />

如上表所示,standard 是默認模式,並且適用於大多數的 Activity 類型。對許多類型的 Activity 而言,SingleTop 也是一個常見並且有用的啟動模式。 其他模式 — singleTask 和 singleInstance - 不適合 大多數應用因為它們所形成的交互模式可能讓用戶感到陌生,並且與大多數其他應用迥異。

無論您選擇哪一種啟動模式,請務必在啟動期間以及使用返回按鈕從其他 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 屬性指定的類名稱一致。
系統會讀取該屬性,以確定當用戶按下操作欄中的“向上”按鈕時應該啟動哪一個 Activity。 系統還可以利用這些信息通過 TaskStackBuilder 合成 Activity 的返回棧。

要支持 API 級別 4 - 16,您還可以使用為 “android.support.PARENT_ACTIVITY” 指定值的 元素來聲明父 Activity。例如:


    
    

如需了解有關聲明父 Activity 以支持向上導航的詳細信息,請閱讀提供向上導航。

該屬性是在 API 級別 16 引入的。

android:permission客戶端啟動 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…”值)都會產生未定義結果。各值之間使用垂直條 (") 分隔。 例如:


此處設置的值(“stateUnspecified”和“adjustUnspecified”除外)替換主題中設置的值。
這裡寫圖片描述

該屬性是在 API 級別 3 引入的。
引入的版本:API 級別 1,為 noHistory 和 windowSoftInputMode 之外的所有屬性引入,這兩個屬性則是在 API 級別 3 中增加。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved