Android入門筆記 06 布局

2021-06-20 14:59:17 字數 1704 閱讀 2056

android的五大布局分別是linearlayout(線性布局)、framelayout(單幀布局)、relativelayout(相對布局)、absolutelayout(絕對布局)和tablelayout(**布局)。

1 linearlayout   分為水平和垂直.

通過     android:orientation="horizontal" 屬性來調節

另外可以根據控制項的weight屬性來設定控制項占用的比例

比如我想設計三個按鈕,這三個按鈕把改行分割成2:1:1 

2 framelayout  所有控制項都在左上角. 後面新增的元件覆蓋前面的

3 relativelayout 

relativelayout按照各子元素之間的位置關係完成布局。在此布局中的子元素裡與位置相關的屬性將生效。例如android:layout_below, android:layout_above等。子元素就通過這些屬性和各自的id配合指定位置關係。注意在指定位置關係時,引用的id必須在引用之前,先被定義,否則將出現異常。

relativelayout裡常用的位置屬性如下:

android:layout_toleftof —— 該元件位於引用元件的左方

android:layout_torightof —— 該元件位於引用元件的右方

android:layout_above —— 該元件位於引用元件的上方

android:layout_below —— 該元件位於引用元件的下方

android:layout_alignparentleft —— 該元件是否對齊父元件的左端

android:layout_alignparentright —— 該元件是否齊其父元件的右端

android:layout_alignparenttop —— 該元件是否對齊父元件的頂部

android:layout_alignparentbottom —— 該元件是否對齊父元件的底部

android:layout_centerinparent —— 該元件是否相對于父元件居中

android:layout_centerhorizontal —— 該元件是否橫向居中

android:layout_centervertical —— 該元件是否垂直居中

4 tablelayout 

tablelayout顧名思義,此布局為**布局,適用於n行n列的布局格式。乙個tablelayout由許多tablerow組成,乙個tablerow就代表tablelayout中的一行。

tablerow是linearlayout的子類,它的android:orientation屬性值恒為horizontal,並且它的android:layout_width和android:layout_height屬性值恒為match_parent和wrap_content。所以它的子元素都是橫向排列,並且寬高一致的。這樣的設計使得每個tablerow裡的子元素都相當於**中的單元格一樣。在tablerow中,單元格可以為空,但是不能跨列。

先要設定乙個tablerow 再設定table元素 

Android入門 4種布局

absolutelayout因為已被廢除,因此不做介紹 只要存在介面,就會有布局的存在,就像swing,雖然乙個是桌面應用,乙個是手機應用,但是他們都差不多。預設布局。元件的排列按照預先定義方向很有序的排列,類似於swing中的flowlayout 注意點 1 可以在中新增android orien...

Android入門 4種布局

absolutelayout因為已被廢除,因此不做介紹 只要存在介面,就會有布局的存在,就像swing,雖然乙個是桌面應用,乙個是手機應用,但是他們都差不多。預設布局。元件的排列按照預先定義方向很有序的排列,類似於swing中的flowlayout 注意點 1 可以在中新增android orien...

android筆記之布局

三個屬性都用來適應檢視的水平或垂直大小,乙個以檢視的內容或尺寸為基礎的布局比精確地指定檢視範圍更加方便。1 fill parent 設定乙個構件的布局為fill parent將強制性地使構件擴充套件,以填充布局單元內盡可能多的空間。這跟windows控制項的dockstyle屬性大體一致。設定乙個頂...