android學習——RelativeLayout相對布局

來源:互聯網
上載者:User

標籤:

RelativeLayout相對布局

  RelativeLayout是一種相對布局,控制項的位置是按照相對位置來計算的,後一個控制項在什麼位置依賴於前一個控制項的基本位置,是布局最常用,也是最靈活的一種布局。

  

  我們下面通過XML布局和Java代碼布局兩種方式分別舉例:

一、XML方式布局

  1、建立一個空白Activity

  

  2、開啟“res/layout/activity_main.xml”檔案,修改成以下代碼。

  

  (1)第①部分

  <?xml version="1.0" encoding="utf-8">,每個XML文檔都由XML序言開始,在前面的代碼中的第一行便是XML序言,<?xml version="1.0">。這行代碼錶示按照1.0版本的XML規則進行解析。encoding = "utf-8"表示此xml檔案採用utf-8的編碼格式。編碼格式也可以是GB2312。

  如果你對此不太明白,請參閱相關XML文檔。

  (2)第②部分

  <RelativeLayout…… 表示採用相對布局管理器。

  (3)第③部分

  android:layout_width="match_parent" android:layout_height="match_parent"表示布局管理器寬度和高充將填充整個螢幕寬度和高度。

  3、插入三個按鈕。

  插入三個按鈕,並分別設定其文本為:“第一個按鈕”、“第二個按鈕”、“第三個按鈕”。

  

  我們下一步設定第一個按鈕距離左邊、上邊各20dp,第二個按鈕距離第一個按鈕左邊、上邊各10dp;第三個按鈕距離第二個按鈕上邊10dp,與第二個按鈕左邊對齊。

  4、開啟“res/layout/activity_main.xml”檔案,修改成以下代碼。

  

  (1)第①部分

  設定第一個按鈕,以父元素為基準,貼緊左上,距離20dp。  

 <Button        android:id="@+id/button1"       android:layout_width="wrap_content"                //寬度匹配內容        android:layout_height="wrap_content"               //高度匹配內容          android:layout_alignParentLeft="true"                         //貼緊父元素左邊        android:layout_alignParentTop="true"               //貼緊父元素上邊         android:layout_marginLeft="20dp"                              //設定左間距20dp        android:layout_marginTop="20dp"                               //設定上間距20dp        android:text="第一個按鈕" />

  (2)第②部分

  設定第二個按鈕,以第一個按鈕為基準,在第一個按鈕下面,對齊第一個按鈕的右邊,上距離15dp。

<Button        android:id="@+id/button2"        android:layout_width="wrap_content"              //寬度匹配內容        android:layout_height="wrap_content"              //高度匹配內容        android:layout_below="@+id/button1"              //位置在第一個按鈕的下面        android:layout_toRightOf="@+id/button1"            //與第一個按鈕的右邊對齊        android:layout_marginTop="15dp"                            //設定上間距15dp     android:text="第二個按鈕" />

  (3)第③部分  

  設定第三個按鈕,以第二個按鈕為基準,在第二個按鈕下面,對齊第二個按鈕的左邊,距離15dp。

    <Button        android:id="@+id/button3"        android:layout_width="wrap_content"              //寬度匹配內容        android:layout_height="wrap_content"              //高度匹配內容        android:layout_below="@+id/button2"              //位置在第二個按鈕的下面        android:layout_toLeftOf="@+id/button2"            //與第二個按鈕的左邊對齊        android:layout_marginTop="15dp"                //設定上間距15dp                android:text="第三個按鈕" />


  最終顯示效果如下:

  

  附:相對布局常用屬性介紹

  這裡將這些屬性分成組,便於理解和記憶。 
  a)、第一類:屬性值為true或false
  android:layout_centerHrizontal 水平置中
  android:layout_centerVertical 垂直置中
  android:layout_centerInparent 相對於父元素完全置中
  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 本元素的上邊緣和某元素的的上邊緣對齊
  android:layout_alignLeft 本元素的左邊緣和某元素的的左邊緣對齊
  android:layout_alignBottom 本元素的下邊緣和某元素的的下邊緣對齊
  android:layout_alignRight 本元素的右邊緣和某元素的的右邊緣對齊



  c)、第三類:屬性值為具體的像素值,如30dip,40px
  android:layout_marginBottom 離某元素底邊緣的距離
  android:layout_marginLeft 離某元素左邊緣的距離
  android:layout_marginRight 離某元素右邊緣的距離
  android:layout_marginTop 離某元素上邊緣的距離

 

  可以通過組合這些屬性來實現各種各樣的布局。 

 

android學習——RelativeLayout相對布局

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.