AndroidMainifest標簽使用說明2——(activity)
編輯:關於Android編程
格式:
. . .
父標簽:
子標簽:
描述:
每一個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()沒有被授予指定的許可,其意圖將不會交付活動。如果沒有設置這個屬性,設定的許可元素的許可屬性適用於活動。如果沒有屬性設置,活動不受權限保護。
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
窗口軟鍵盤模式。設置方法:
參數簡介:
"stateUnspecified"
默認,系統會設置無特別要求。
"stateUnchanged"
軟鍵盤上一次保存在任何狀態,是否可見或隱藏,當活動走到前台。
"stateHidden"
軟鍵盤是隱藏的,當用戶選擇activity時。
"stateAlwaysHidden"
總是隱藏的。
"stateVisible"
可見的,當activity激活的時候
"stateAlwaysVisible"
總是可見的
"adjustUnspecified"
未指定活動的主窗體的大小是否為軟鍵盤,或者窗口的內容是否鍋使屏幕上當前的焦點可見。這些模式的系統會自動選擇一個取決於窗口的內容有任何布局視圖,可以滾動內容。如果有這樣一個觀點,窗口大小,假設滾動可以使所有可見的窗口的內容在一個較小的區域。
"adjustResize"
活動的主窗口總是會去調整大小使軟鍵盤在窗口中
"adjustPan"
活動的主窗口不是軟鍵盤調整大小以騰出空間。相反,窗口自動安排的內容,當前的焦點永遠不會被鍵盤獲得,用戶可以看到他們打字。比調整這通常是不可取的,因為用戶可能需要關閉軟鍵盤與被遮擋的部分和交互的窗口。
- 上一頁:Android應用中使用百度地圖API定位自己的位置(二)
- 下一頁:Android中如何搭建一個WebServer