標籤:
格公式:
<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:launchModeActivity的啟動方式
"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:nameactivity的名稱,比方"com.example.project.ExtracurricularActivity"
android:noHistory預設false
當離開該activity時它會是不可兼得,此時activity是否可以從堆棧中移除和finishi()。“true”意味著activity不會離開曆史的痕迹。
它不會留在任務的活動堆棧,因此使用者將無法返回。
android:parentActivityName邏輯父類的名字。
系統讀取這個屬性,以確定哪些活動時應開始使用按下button在操作欄。該系統還能夠使用此資訊來綜合與TaskStackBuilder回堆棧的活動。
android:permission許可權的名稱,客戶必須啟動活動或讓它回複意圖。假設調用者startActivity()或startActivityForResult()沒有被授予指定的許可,其意圖將不會交付活動。
假設沒有設定這個屬性,設定的許可<application>元素的許可屬性適用於活動。
假設沒有屬性設定,活動不受許可權保護。
android:processactivity所在的進程名,通常不須要設定。
android:screenOrientationactivity所顯示的方向。選擇有下面不論什麼一種:
"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:uiOptionsactivity UI的一個額外選擇。
必須是以下一個值:
"none" 預設,沒有。
"splitActionBarWhenNarrow"加入欄位於螢幕的底部。在動作條顯示操作項,當約束的水平空間。而不是少數出如今螢幕上方操作欄中的行動項目。操作欄被分成頂部導航部分和操作項的底部欄。這保證了空間的合理量可供不僅為行動項目,同一時候也為在頂部導航和標題元素。
功能表項目不會在兩個欄分裂;他們總是一起出現。
android:windowSoftInputMode表單軟鍵盤模式。
設定方法:
<activity android:windowSoftInputMode="stateVisible|adjustResize" . . . >
參數簡單介紹:
"stateUnspecified"預設,系統會設定無特別要求。
"stateUnchanged"軟鍵盤上一次儲存在不論什麼狀態,是否可見或隱藏,當活動走到前台。
"stateHidden"軟鍵盤是隱藏的,當使用者選擇activity時。
"stateAlwaysHidden"總是隱藏的。
"stateVisible"可見的,當activity啟用的時候
"stateAlwaysVisible"總是可見的
"adjustUnspecified"未指定活動的主表單的大小是否為軟鍵盤,或者表單的內容是否鍋使螢幕上當前的焦點可見。
這些模式的系統會自己主動選擇一個取決於表單的內容有不論什麼布局視圖,能夠滾動內容。如果有這樣一個觀點,表單大小,如果滾動能夠使全部可見的表單的內容在一個較小的地區。
"adjustResize"活動的主表單總是會去調整大小使軟鍵盤在表單中
"adjustPan"活動的主表單不是軟鍵盤調整大小以騰出空間。
相反,表單自己主動安排的內容,當前的焦點永遠不會被鍵盤獲得,使用者能夠看到他們打字。比調整這一般是不可取,因為使用者可能需要關閉的形式軟鍵盤和陰影部分和互動。
著作權聲明:本文部落格原創文章,部落格,未經同意,不得轉載。
AndroidMainifest標籤說明2——<activity>