AndroidManifest.xml檔案詳解(activity)(五)

來源:互聯網
上載者:User

android:taskAffinity

這個屬性用於跟Activity有親緣關係的任務。帶有相同親緣關係的Activity,在概念上是屬於相同任務的(從使用者的角度看,它們是屬於同一應用程式的)。任務的親緣關係是通過它的根節點的Activity的親緣關係來判定的。

親緣關係決定了兩件事情:1.Activity能否重新設定父任務(看allowTaskReparenting屬性);2.這個任務能夠包含用FLAG_ACTIVITY_NEW_TASK標記啟動的Activity。

預設情況下,在一個應用程式中的所有Activity都有相同的親緣關係。能夠通過設定這個屬性把Activity分到不同的組中。甚至能夠把定義在不同應用程式中的Activity放到同一個任務中。要指定一個跟任何任務沒有親緣關係的Activity,就要把這個屬性設定為空白字串。

如果這個屬性沒有設定,那麼這個Activity會繼承應用程式的親緣關係(看<application>元素的taskAffinity屬性)。應用程式預設的親緣關係名稱是由<manifest>元素的package屬性設定包名。

android:theme

這個屬性用於設定Activity整體主題,它會應用一個樣式資源。系統會使用這個主題來自動的設定Activity的內容。

如果這個屬性沒有設定,Activity會繼承應用程式的主題(<application>元素的theme屬性)做它的整體樣式。如果這個屬性也沒有設定,那麼預設使用系統的主題。

android:uiOptions

這個屬性用於設定Activity的UI的額外選項,它必須是下表中的一個值。

 

說明
none 預設設定,沒有額外的UI選項。
splitActionBarWhenNarrow 在水平空間受到限制的時候,會在螢幕的底部添加一個用於顯示ActionBar中操作項的欄,例如:在縱向的手持功能上。而不是在螢幕頂部的操作欄中顯示少量的操作項。它會把操作欄分成上下兩部分,頂部用於導航選擇,底部用於操作項目。這樣就會確保可用的合理空間不僅只是針對操作項目,而且還會在頂部給導航和標題留有空間。功能表項目不能被分開到兩個欄中,它們要顯示在一起。
 
 

 

 

這個屬性在API Level 14中被引入。

android:windowSoftInputMode

這個屬性用於設定Activity的主視窗與軟體機碼盤的視窗如何互動。設定這個屬性會影響以下兩件事情:

1. 軟鍵盤的狀態---在Activity擷取輸入焦點時,軟鍵盤是隱藏還是顯示。

2. 調整Activity的主視窗---是調整Activity主視窗的大小,以便給軟鍵盤騰出顯示空間;還是在Activity視窗中的輸入焦點被軟鍵盤覆蓋時,讓Activity視窗中的內容平移,以便輸入焦點能夠顯示給使用者。

這個屬性必須用下表中的一個值來設定,或者是一個state…的值和一個adjust…的值的組合。如:

<activityandroid:windowSoftInputMode="stateVisible|adjustResize" . . . >

這個屬性設定的值會覆蓋主題中設定的值。

 
 

說明
stateUnspecified 它不指定軟鍵盤的狀態(顯示或隱藏)。系統會選擇合適的狀態,或者依賴主題中的設定。
它是軟鍵盤行為的預設設定。
stateUnchanged 當Activity顯示在前台時,軟鍵盤會保持它最後的狀態(顯示或隱藏)
stateHidden 當使用者選擇這個Activity時,軟鍵盤會隱藏。也就是說,當使用者確認向前瀏覽到這個Activity的時候,而不是因為離開另一個Activity而返回這個Activity的時候。
stateAlwaysHidden 當Activity的主視窗有輸入焦點時,軟鍵盤會始終隱藏
stateVisible 在適當的時候(通常是使用者瀏覽到這個Activity的主視窗),軟鍵盤是可見的。
stateAlwaysVisible 當使用者選擇了這個Activity時,軟鍵盤變的可見,也就是說,當使用者確認向前瀏覽到這個Activity的時候,而不是因為離開另一個Activity而返回這個Activity的時候。
adjustUnspecified 這個值並不指定Activity的主視窗會軟鍵盤的顯示而進行大小的調整,也不會指定Activity的主視窗是否會平移,以便把因軟鍵盤所遮擋的輸入焦點顯示給使用者。系統會依賴內容視窗中的內容是否能夠滾動,來自動的選擇這兩種模式。如果Activity視窗中有一個能夠滾動的布局,那麼這個視窗就會被調整大小,並假設通過滾動能夠在一個較小的地區內來瀏覽視窗中所有的內容。
adjustResize 為適應軟鍵盤的顯示,Activity的主視窗始終要調整大小。
adjustPan Activity的主視窗不會因軟鍵盤的顯示而調整大小,相反,視窗中的內容會被自動的平移,以便輸入焦點不會被軟鍵盤所遮擋,並且使用者能夠看到他們所輸入的內容。通常很少使用這種模式,因為使用者可能需要關閉軟鍵盤,以便能夠跟軟鍵盤所遮擋進行互動。
 

這個屬性在API Level 3中被引入。

元素引入(INTRODUCED IN)

處理noHistory和windowSoftInputMode屬性以外(這兩個屬性在API Level 3中被引入),其他所有的屬性都在API Level 1中被引入。

 


摘自 FireOfStar的專欄

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.