android開發------編寫使用者介面之相對布局

來源:互聯網
上載者:User

今天要說的是RelativeLayout。RelativeLayout相對於LinearLayout的主要不同點在於它需要一個參照物。

   is a view group that displays child views in relative positions.   area (such as aligned to the bottom, left of center).

 

 

  is a very powerful utility for designing a user interface If you find yourself using several nested  groups, you may be able to replace them with a single 

 

 

用於這個布局的LinearLayout代碼:

 

View Code

運行效果:

  

 

同樣布局的RelativeLayout代碼:

View Code

運行效果:

   

第一眼看下去,代碼比使用LinearLayout多了。

但是,我們可以看到,它們之間只有一個層級關係,它們都只有一個父類RelativeLayout。

 

然而,在實際項目中,RelativeLayout比LinearLayout更難把握,更容易出現問題,這就考驗我們對RelativeLayout的掌握熟練程度。

  

我們說說一些常用的屬性的作用,其他的屬性大家可以對號入座

android:layout_toLeftOf="@id/idName"     元素處於指定ID元素的左邊

android:layout_alignParentRight="true"     元素的右邊界向父元素的右邊界對齊

android:layout_below="@id/idName"         元素處於指定ID元素的下面

android:layout_marginTop="20dp"             設定外邊距的值

android:layout_paddingLeft="10dp"            設定內邊距的值

android:layout_centerHorizontal="true"       設定元素水平置中

android:layout_alignBaseLine="@id/idName"    與指定ID的元素基準線對齊

 

一些細節上的東西我們需要注意一下,先看下面的代碼

View Code

 

Margin和Padding的區別,我們看就知道了

 

 什麼是baseLine(基準線)

我們先來看一下代碼和圖片

下面的代碼並沒有使用alignBaseLine

View Code

運行效果是這樣的
  

    

輸入使用者名稱這個TextView元素向上提了。沒有和右邊的元素對齊,影響美觀。

 現在我們使它們的基準線對齊

View Code

現在它們對齊了,基準先就像我們所說的地平線,常用來對齊文本元素

紅線就是baseline了,是不是有點像我們小學作業本上的線 ^-^

 

值得注意的是,上面的代碼中我們使用了android系統內建的id,如果我們使用自訂的ID,情況又會怎樣?

明明我們就定義了一個ID叫editText的元素,怎麼會找不到呢

這裡其實是順序問題,在使用id引用資源的時候,我們必須先定義,後引用。否則編譯時間就會出錯。

小問題,注意下就可以了。

布局就學到這裡了,還有其他的布局,等以後遇到的時候再說。。

 

支援原創,轉載請註明出處。http://www.cnblogs.com/ai-developers/p/android_relativelayout.html

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.