第3章 布局Layouts之RelativeLayout相對(duì)布局
RelativeLayout相對(duì)布局
RelativeLayout是一種相對(duì)布局,控件的位置是按照相對(duì)位置來計(jì)算的,后一個(gè)控件在什么位置依賴于前一個(gè)控件的基本位置,是布局最常用,也是最靈活的一種布局。
我們下面通過XML布局和Java代碼布局兩種方式分別舉例:
一、XML方式布局
1、創(chuàng)建一個(gè)空白Activity
2、打開 res/layout/activity_main.xml 文件,修改成以下代碼。
(1)第①部分
<?xml version="1.0" encoding="utf-8">,每個(gè)XML文檔都由XML序言開始,在前面的代碼中的第一行便是XML序言,<?xml version="1.0">。這行代碼表示按照1.0版本的XML規(guī)則進(jìn)行解析。encoding = "utf-8"表示此xml文件采用utf-8的編碼格式。編碼格式也可以是GB2312。
如果你對(duì)此不太明白,請(qǐng)參閱相關(guān)XML文檔。
?。?)第②部分
<RelativeLayout 表示采用相對(duì)布局管理器。
(3)第③部分
android:layout_width="match_parent" android:layout_height="match_parent"表示布局管理器寬度和高充將填充整個(gè)屏幕寬度和高度。
3、插入三個(gè)按鈕。
插入三個(gè)按鈕,并分別設(shè)置其文本為:第一個(gè)按鈕、第二個(gè)按鈕、第三個(gè)按鈕。
我們下一步設(shè)置第一個(gè)按鈕距離左邊、上邊各20dp,第二個(gè)按鈕距離第一個(gè)按鈕左邊、上邊各10dp;第三個(gè)按鈕距離第二個(gè)按鈕上邊10dp,與第二個(gè)按鈕左邊對(duì)齊。
4、打開 res/layout/activity_main.xml 文件,修改成以下代碼。
(1)第①部分
設(shè)置第一個(gè)按鈕,以父元素為基準(zhǔn),貼緊左上,距離20dp。
(2)第②部分
設(shè)置第二個(gè)按鈕,以第一個(gè)按鈕為基準(zhǔn),在第一個(gè)按鈕下面,對(duì)齊第一個(gè)按鈕的右邊,上距離15dp。
(3)第③部分
設(shè)置第三個(gè)按鈕,以第二個(gè)按鈕為基準(zhǔn),在第二個(gè)按鈕下面,對(duì)齊第二個(gè)按鈕的左邊,距離15dp。
最終顯示效果如下:
附:相對(duì)布局常用屬性介紹
這里將這些屬性分成組,便于理解和記憶。
a)、第一類:屬性值為true或false
android:layout_centerHrizontal 水平居中
android:layout_centerVertical 垂直居中
android:layout_centerInparent 相對(duì)于父元素完全居中
android:layout_alignParentBottom 貼緊父元素的下邊緣
android:layout_alignParentLeft 貼緊父元素的左邊緣
android:layout_alignParentRight 貼緊父元素的右邊緣
android:layout_alignParentTop 貼緊父元素的上邊緣
b)、第二類:屬性值必須為id的引用名“@id/id-name”
android:layout_below 在某元素的下方
android:layout_above 在某元素的的上方
android:layout_toLeftOf 在某元素的左邊
android:layout_toRightOf 在某元素的右邊
android:layout_alignTop 本元素的上邊緣和某元素的的上邊緣對(duì)齊
android:layout_alignLeft 本元素的左邊緣和某元素的的左邊緣對(duì)齊
android:layout_alignBottom 本元素的下邊緣和某元素的的下邊緣對(duì)齊
android:layout_alignRight 本元素的右邊緣和某元素的的右邊緣對(duì)齊
c)、第三類:屬性值為具體的像素值,如30dip,40px
android:layout_marginBottom 離某元素底邊緣的距離
android:layout_marginLeft 離某元素左邊緣的距離
android:layout_marginRight 離某元素右邊緣的距離
android:layout_marginTop 離某元素上邊緣的距離
可以通過組合這些屬性來實(shí)現(xiàn)各種各樣的布局。