入門 Android 五大布局

2021-06-07 10:24:59 字數 2376 閱讀 2249

android 中的五大布局物件---framelayout,linearlayout ,absolutelayout,relativelayout,tablelayout

android有五大布局物件,它們分別是framelayout(框架布局:不知道是不是這麼翻譯的),linearlayout (線性布局),absolutelayout(絕對布局),relativelayout(相對布局),tablelayout(**布局).

framelayout:

framelayout是最簡單的乙個布局物件。它被定製為你螢幕上的乙個空白備用區域,之後你可以在其中填充乙個單一物件 — 比如,一張你要發布的。所有的子元素將會固定在螢幕的左上角;你不能為framelayout中的乙個子元素指定乙個位置。後乙個子元素將會直接在前 乙個子元素之上進行覆蓋填充,把它們部份或全部擋住(除非後乙個子元素是透明的)。

我們看一下效果圖:

linearlayout以你為它設定的垂直或水平的屬性值,來排列所有的子元素。所有的子元素都被堆放在其它元素之後,因此乙個垂直列表的每一行只會有 乙個元素,而不管他們有多寬,而乙個水平列表將會只有乙個行高(高度為最高子元素的高度加上邊框高度)。linearlayout保持子元素之間的間隔以 及互相對齊(相對乙個元素的右對齊、中間對齊或者左對齊)。

linearlayout還支援為單獨的子元素指定weight 。好處就是允許子元素可以填充螢幕上的剩餘空間。這也避免了在乙個大螢幕中,一串小物件擠 成一堆的情況,而是允許他們放大填充空白。子元素指定乙個weight 值,剩餘的空間就會按這些子元素指定的weight 比例分配給這些子元素。預設的 weight 值為0。例如,如果有三個文字框,其中兩個指定了weight 值為1,那麼,這兩個文字框將等比例地放大,並填滿剩餘的空間,而第三個文字框 不會放大。

我們看一下效果圖:

absolutelayout 可以讓子元素指定準確的x/y座標值,並顯示在螢幕上。(0, 0)為左上角,當向下或向右移動時,座標值將變大。absolutelayout 沒有頁邊框,允許元素之間互相重疊(儘管不推薦)。我們通常不推薦使用 absolutelayout ,除非你有正當理由要使用它,因為它使介面**太過剛性,以至於在不同的裝置上可能不能很好地工作。

我們看一下效果圖:

relativelayout 允許子元素指定他們相對於其它元素或父元素的位置(通過id 指定)。因此,你可以以右對齊,或上下,或置於螢幕**的形式來 排列兩個元素。元素按順序排列,因此如果第乙個元素在螢幕的**,那麼相對於這個元素的其它元素將以螢幕**的相對位置來排列。如果使用xml 來指定這個 layout ,在你定義它之前,被關聯的元素必須定義。

讓我們看一下效果圖:

tablelayout 將子元素的位置分配到行或列中。乙個tablelayout 由許多的tablerow 組成,每個tablerow 都會定義乙個 row (事實上,你可以定義其它的子物件,這在下面會解釋到)。tablelayout 容器不會顯示row 、cloumns 或cell 的邊框線。每個 row 擁有0個或多個的cell ;每個cell 擁有乙個view 物件。**由列和行組成許多的單元格。**允許單元格為空。單元格不能跨列,這與html 中的不一樣。

下面讓我們看一下效果圖:

//這裡是上圖中的分隔線

android 五大布局

android的介面是有布局和元件協同完成的,布局好比是建築裡的框架,而元件則相當於建築裡的磚瓦。元件按照布局的要求依次排列,就組成了使用者所看見的介面。android的五大布局分別是linearlayout 線性布局 framelayout 單幀布局 relativelayout 相對布局 abs...

Android五大布局

線性布局linerlayout 按照垂直或者水平的順序依次排列子元素,每乙個子元素都位於前乙個元素之後。如果是垂直排列,那麼將是一 個n行單列的結構,每一行只會有乙個元素,而不論這個元素的寬度為多少 如果是水平排列,那麼將是乙個單行n列的結構。如果搭建兩 行兩列的結構,通常的方式是先垂直排列兩個元素...

Android五大布局

1.相對布局 relativelayout 允許子元素指定它們相對於其父元素或兄弟元素的位置,這是實際布局中最常用的布局方式之一。特點 相對於其他空間的位置,和相對父元素的位置進行布局 第一類 屬性值為true或false android layout centerhrizontal 水平居中 an...