relativelayout布局相關

2021-07-02 18:49:01 字數 3868 閱讀 2634

在相對布局(relativelayout)中,子控制項的位置是相對兄弟控制項或父容器而決定的。出於效能考慮,在設計相對布局時,要按照控制項之間的依賴關係排列。如view a的位置相當於view b來決定,則需要保證布局檔案中view b在view a的前面。

在進行相對布局時,用到的布局屬性有很多,首先來看屬性值為true或false的屬性,見下表:

相對布局中取值為true或false的屬性列表

屬性名稱

屬性說明

android:layout_centerhorizontal

當前控制項位於父控制項的橫向中間位置

android:layout_centervertical

當前控制項位於父控制項的縱向中間位置

android:layout_centerinparent

當前控制項位於父控制項的**位置

android:layout_alignparentbottom

當前控制項底端與父控制項底端對齊

android:layout_alignparentleft

當前控制項左側與父控制項左側對齊

android:layout_alignparentright

當前控制項右側與父控制項右側對齊

android:layout_alignparenttop

當前控制項頂端與父控制項頂端對齊

android:layout_alignwithparentifmissing

參照控制項不存在或不可見時參照父控制項

接下來再來看看屬性值為其他控制項id的屬性,見下表:

相對布局中取值為其他控制項id的屬性及其說明

屬性名稱

屬性說明

android:layout_torightof

使當前控制項位於給出id控制項的右側

android:layout_toleftof

使當前控制項位於給出id控制項的左側

android:layout_above

使當前控制項位於給出id控制項的上方

android:layout_below

使當前控制項位於給出id控制項的下方

android:layout_aligntop

使當前控制項的上邊界與給出id控制項的上邊界對齊

android:layout_alignbottom

使當前控制項的下邊界與給出id控制項的下邊界對齊

android:layout_alignleft

使當前控制項的左邊界與給出id控制項的左邊界對齊

android:layout_alignright

使當前控制項的右邊界與給出id控制項的右邊界對齊

最後介紹的是屬性值以畫素為單位的屬性及說明,見下表:

相對布局中取值為畫素的屬性及說明

屬性名稱

屬性說明

android:layout_marginleft

當前控制項左側的留白

android:layout_marginright

當前控制項右側的留白

android:layout_margintop

當前控制項上方的留白

android:layout_marginbottom

當前控制項下方的留白

android:layout_margin

當前控制項上下左右四個方向的留白

上面的取值為畫素的屬性這裡再補充幾個:

android:paddingleft                                        當前控制項中內容距離控制項左邊留白

android:paddingright                                      當前控制項中內容距離控制項右邊留白

android:paddingtop                                        當前控制項中內容距離控制項頂部留白

android:paddingbottom                                   當前控制項中內容距離控制項底部留白

需要注意的是:在進行相對布局時要避免出現迴圈依賴,例如設定相對布局在父容器中的排列方式為wrap_content,就不能再將相對布局的子控制項設定為align_parent_bottom。因為這樣會造成子控制項和父控制項相互依賴和參照的錯誤。

下面就先來看看相對布局的效果圖:

其中main.xml**如下:

view plain

copy

xmlversion

="1.0"

encoding

="utf-8"

?>

<

relativelayout

android:id

="@+id/relativelayout01"

android:layout_width

="fill_parent"

android:layout_height

="fill_parent"

android:background

="#ffffff"

xmlns:android

="">

<

imageview

android:id

="@+id/imageview01"

android:background

="@drawable/center"

android:layout_width

="wrap_content"

android:layout_height

="wrap_content"

android:layout_centerinparent

="true"

>

imageview

>

<

imageview

android:id

="@+id/imageview02"

android:background

="@drawable/down"

android:layout_width

="wrap_content"

android:layout_height

="wrap_content"

android:layout_torightof

="@id/imageview01"

android:layout_aligntop

="@id/imageview01"

>

imageview

>

<

imageview

android:id

="@+id/imageview03"

android:background

="@drawable/up"

android:layout_width

="wrap_content"

android:layout_height

="wrap_content"

android:layout_above

="@id/imageview01"

android:layout_alignleft

="@id/imageview01"

>

imageview

>

relativelayout

>

activity**為:

view plain

copy

package

com.sunchis; 

import

import

android.os.bundle; 

public

class

android 

extends

activity  

RelativeLayout的子控制項的布局屬性

android layout above 將該控制項的底部置於給定id的控制項之上 android layout below 將該控制項的頂部置於給定id的控制項之下 android layout toleftof 將該控制項的右邊緣和給定id的控制項的左邊緣對齊 android layout to...

RelativeLayout相對布局

relativelayout相對布局是個人覺得在android布局中比較常用且好用的乙個,當然如果想讓布局更漂亮是需要多種布局混合搭建的,這裡就需要更深入的學習了,在這只介紹下有關相對布局的東西。相對於兄弟元素 android layout below id aaa 在指定view的下方 andro...

RelativeLayout 重要屬性

第一類 屬性值為true或false android layout centerhrizontal 水平居中 android layout centervertical 垂直居中 android layout centerinparent 相對于父元素完全居中 android layout alig...