今天在做項目的一個新功能的時候,從網上尋找資源,發現android2.2中出現的MATCH_PARENT感到不明白,過去只有FILL_PARENT和WRAP_CONTENT那麼match_parent到底是什麼類型呢?
經過一番研究發現,從Android 2.2開始FILL_PARENT改名為MATCH_PARENT ,從API Level為8開始我們可以直接用MATCH_PARENT來代替FILL_PARENT,他們的定義本質是一樣均為-1,只是換了個別名,可能為了更準確些,比如最終在SDK中的定義為:
fill_parent -1 The view should be as big as its parent (minus padding). This constant is deprecated starting from API Level 8 and is replaced by match_parent.
match_parent -1 The view should be as big as its parent (minus padding). Introduced in API Level 8.
wrap_content -2 The view should be only big enough to enclose its content (plus padding).
從Android 2.2開始fill_parent改名為match_parent,從API Level 8可以直接用match_parent來代替fill_parent,不過2.2以後的版本fill_parent仍然可以使用,他們的含義都是一樣的,都是填滿整個父視窗
三個屬性都用來適應視圖的水平或垂直大小,一個以視圖的內容或尺寸為基礎的布局比精確地指定視圖範圍更加方便。
1)fill_parent
設定一個構件的布局為fill_parent將強制性地使構件擴充,以填充布局單元內儘可能多的空間。這跟Windows控制項的dockstyle屬性大體一致。設定一個頂部布局或控制項為fill_parent將強制性讓它布滿整個螢幕。
2) wrap_content
設定一個視圖的尺寸為wrap_content將強制性地使視圖擴充以顯示全部內容。以TextView和ImageView控制項為例,設定為wrap_content將完整顯示其內部的文本和映像。布局元素將根據內容更改大小。設定一個視圖的尺寸為wrap_content大體等同於設定Windows控制項的Autosize屬性為True。
3)match_parent
Android2.2中match_parent和fill_parent是一個意思 .兩個參數意思一樣,match_parent更貼切,於是從2.2開始兩個詞都可以用。那麼如果考慮低版本的使用方式你就需要用fill_parent了