◎ 什麼是相對佈局(RelativeLayout)?
1. RelativeLayout是另外一種控件擺放的方式。
2. RelativeLayout是透過指定當前控件與兄弟控件或者是父控件之間的相對位置,從而達到控制控件位置的目的。
◎ 為什麼要使用RelativeLayout?
以上篇所講的猜拳遊戲之版面為例,如果為了實現該版面的話,需使用多個LinearLayout互嵌,因此其複雜度也相對的提高許多,更遑論UI的性能了。
◎相對佈局(RelativeLayout)的基本思路與優勢
1. 在相對佈局的情況下,如果都無設定該物件的位置的話,一般預設會將其放在「左上角」。因此,如果有二個物件皆無設定的話,就會有重疊的情況產生。
2. 當在設計相對佈局時,第一件事就是需先確定第一個物件的位置及設置其ID,之後的物件可以依此物件進行相對位置的編排。
3. 當第一個物件的位置改變了,而依附在第一個物件位置附近的第二個物件,不會因此而需做額外的調整。
◎ RelativeLayout中兩組常用屬性之介紹
● 第一組相對佈局屬性
1. android:layout_below:該屬性的值為「已經存在的ID」,即引用已經存在的ID,而其作用為「把當前的控件上邊緣與指定ID控件的下邊緣進行對齊之動作」。
2. android:layout_above:該屬性的值為「已經存在的ID」,即引用已經存在的ID,而其作用為「把當前的控件下邊緣與指定ID控件的上邊緣進行對齊之動作」。
3. android:layout_toLeftOf:該屬性的值為「已經存在的ID」,即引用已經存在的ID,而其作用為「把當前的控件右邊緣與指定ID控件的左邊緣進行對齊之動作」。不過,下圖其因超出螢幕,所以無法顯示了。
4. android:layout_toRightOf:該屬性的值為「已經存在的ID」,即引用已經存在的ID,而其作用為「把當前的控件左邊緣與指定ID控件的右邊緣進行對齊之動作」。
● 第二組相對佈局屬性
1. android:layout_alignLeft:該屬性的值為「已經存在的ID」,即引用已經存在的ID,而其作用為「把當前的控件左邊緣與指定ID控件的左邊緣進行對齊之動作」。
2. android:layout_alignRight:該屬性的值為「已經存在的ID」,即引用已經存在的ID,而其作用為「把當前的控件右邊緣與指定ID控件的右邊緣進行對齊之動作」。
3. android:layout_alignTop:該屬性的值為「已經存在的ID」,即引用已經存在的ID,而其作用為「把當前的控件上邊緣與指定ID控件的上邊緣進行對齊之動作」。不過,下圖其因超出螢幕,所以無法顯示了。
4. android:layout_alignBottom:該屬性的值為「已經存在的ID」,即引用已經存在的ID,而其作用為「把當前的控件下邊緣與指定ID控件的下邊緣進行對齊之動作」。