此博文主要是相對布局xml屬性的解析及實例。
android:layout_above:此控件底部的邊緣位於設定ID控件的上方
<Button android:id="@+id/btn1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="hello " android:layout_above="@+id/btn2" /> //<<<<------ <Button android:id="@+id/btn2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="world" android:layout_centerVertical="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" />
顯示結果:
android:layout_below:此控件頂部的邊緣位於設定ID控件的下方
<Button android:id="@+id/btn1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="hello " /> <Button android:id="@+id/btn2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="world" android:layout_below="@+id/btn1" //<<<<<<------- android:layout_alignParentLeft="true" android:layout_alignParentStart="true" />
顯示結果:

android:layout_alignBaseline:將此控件內容的基線與給定ID控件內容的基線對齊。
<Button android:id="@+id/btn1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="hello " /> <Button android:id="@+id/btn2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="world" android:layout_alignBaseline="@+id/btn1" //<<<<<------ android:textSize="56sp" android:layout_toRightOf="@+id/btn1"
此屬性沒加時顯示效果:
此屬性加了之后的顯示效果(此示例會超出布局,具體情況請自己多加練習):

android:layout_alignBottom:將此控件的底部邊緣與給定ID的控件底部邊緣對齊。
<Button android:id="@+id/btn1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="hello " /> <Button android:id="@+id/btn2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="world" android:textSize="34sp"
android:layout_alignBottom="@+id/btn1" //<<<<----
android:layout_toRightOf="@+id/btn1" />
此屬性沒加時顯示效果:

添加后顯示的效果:

android:layout_alignEnd:將此控件與給定ID控件的末端對齊。以下的例子,很容易懂
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button" android:layout_alignParentTop="true" android:layout_alignParentStart="true" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New" android:id="@+id/button2" android:layout_alignEnd="@+id/button" //<<<<<-------- android:layout_below="@+id/button" />
此屬性未添加時的顯示結果:

當添加此屬性時的顯示結果:
android:layout_alignLeft:將此控件的左邊緣與給定ID控件的左邊緣對齊
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New" android:id="@+id/button2" android:layout_alignLeft="@+id/button" //<<<<<------ android:layout_below="@+id/button" />
未添加此屬性時顯示效果:

添加此屬性之后顯示效果:

android:layout_alignParentBottom:如果設置為true,那么就將此控件的底部邊緣與父容器的底部邊緣匹配。
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button" android:layout_alignParentBottom="true" /> //<<<<<------
未添加此屬性顯示效果:

添加后:

android:layout_alignParentEnd:如果設置為true,那么此控件的末邊緣與父容器匹配
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button" android:layout_alignParentEnd="true" /> //<<<<<<-------
未加此屬性之前:

加了之后:

android:layout_alignParentLeft:如果設置為true,那么此控件的左邊緣與父容器的左邊緣匹配。這個屬性可以用到的時候再用,這里可以參考layout_alignParentBottom屬性,只是這個在左部而已。
android:layout_alignParentRight:如果設置為true,那么此控件的右邊緣與父容器的右邊緣匹配。此屬性效果和 android:layout_alignParentEnd 屬性效果差不多,顯示效果參照 android:layout_alignParentEnd 的圖
android:layout_alignParentStart:如果設置為true,那么此控件的開始邊緣與父容器的開始邊緣匹配。這個屬性和android:layout_alignParentEnd 屬性應該有別的用法,雖然在此例子中與left和right那兩個屬性顯示效果差不多一樣......
android:layout_alignParentTop:如果設置為true,那么此控件的頂部邊緣與父容器的頂部邊緣匹配。與layout_alignParentBottom相對。
android:layout_alignRight:將此控件的右邊緣與給定ID控件的右邊緣對齊。
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button" android:layout_alignParentStart="true" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="hello" android:layout_below="@+id/button" android:layout_alignRight="@+id/button"/> //<<<<<------
未添加此屬性時顯示的效果:

添加后:

android:layout_alignStart:將此控件的開始邊緣與給定ID控件的開始邊緣對齊。和android:layout_alignLeft作用差不多感覺。
android:layout_alignTop:將此控件的頂部邊緣與給定ID控件的頂部邊緣對齊。
android:layout_toEndof:將此控件的開始邊緣與給定ID控件的結束邊緣對齊。
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button" android:layout_alignParentStart="true" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="hello" android:layout_below="@+id/button" android:layout_toEndOf="@+id/button" /> //<<<<<<-----
未添加此屬性時顯示效果:

添加后顯示效果:

android:layout_toLeftof:將此控件的右邊緣與給定ID控件的左邊緣對齊。
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="hello" android:layout_below="@+id/button" android:layout_toLeftOf="@+id/button"/> //<<<<<<------
未添加此屬性時顯示結果:

添加后顯示結果:

android:layout_toRightof:將此控件的左邊緣與給定ID控件的右邊緣對齊。
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="hello" android:layout_below="@+id/button" android:layout_toRightOf="@+id/button" /> //<<<<<<<-------
未添加顯示效果:

添加后顯示效果:

android:layout_toStartof:將此控件的末邊緣與給定ID控件的開始邊緣對齊。和android:layout_toLeftof屬性的顯示效果一樣。
android:layout_centerHorizontal:如果設置為true,此控件將設置為水平居中
在這一條綠線上都是范圍

android:layout_centerVertical:如果設置為true,此控件將設置為垂直居中

android:layout_centerInParent:如果設置為true,則此控件在他的父容器的中心位置。

android:layout_alignWithParentIfMissing:如果設置為true,當控件的 layout_toLeftOf、layout_toRightOf、等等 屬性找不到時,就以父元素作為參考。
------------------------------------------------------------------------
android:padding:指定控件中的內容與到此控件的四邊緣的距離
android:layout_margin:設置此控件的四邊緣與其他控件的距離
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:textSize="36sp" android:id="@+id/button" android:background="@android:color/holo_green_dark" android:layout_alignParentTop="true" android:padding="50dp" //<<<<<<------- android:layout_alignParentStart="true" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button2" android:textSize="36sp" android:background="@android:color/holo_green_dark" android:layout_margin="20dip" //<<<<<<-------- android:layout_below="@+id/button" />
顯示效果:

android:paddingBottom:設置控件內容與控件下邊緣的距離
android:paddingTop:設置控件內容與控件上邊緣的距離
android:paddingLeft:設置控件內容與控件左邊緣的距離
android:paddingRight:設置控件內容與控件右邊緣的距離
android:layout_marginBottom:設置此控件的下邊緣與其他控件的距離
android:layout_marginTop:設置此控件的上邊緣與其他控件的距離
android:layout_marginLeft:設置此控件的左邊緣與其他控件的距離
android:layout_marginRight:設置此控件的右邊緣與其他控件的距離
