Android入門教程 | UI佈局之RelativeLayout 相對佈局
RelativeLayout 簡述
RelativeLayout 繼承於 android.widget.ViewGroup,按照子元素之間的位置關係完成佈局,作為 Android 系統五大布局中最靈活也是最常用的一種佈局方式,非常適合於一些比較複雜的介面設計。
RelativeLayout 和 LinearLayout 類似,都是 ViewGroup,能“容納”多個子view。
RelativeLayout 是一個以相對位置顯示子檢視的檢視組。每個檢視的位置可以指定為相對於同級元素的位置(例如,在另一個檢視的左側或下方)或相對於父級 RelativeLayout 區域的位置(例如在底部、左側或中心對齊)。
子 view 可以是 TextView,Button,或者是 LinearLayout,RelativeLayout 等等。 如果不新增其他配置,它們預設是在 RelativeLayout 的左上角。
在 RelativeLayout 中,子 View 可以根據另一個子 View 來確定位置。 但必須注意的是,RelativeLayout 和它的子 View 不能互相依賴。比如 RelativeLayout 設定高度為 wrap_content,子 View 設定了 ALIGN_PARENT_BOTTOM,這樣你會發現 RelativeLayout 被撐到最大。 RelativeLayout 能消除巢狀檢視組並使佈局層次結構保持扁平化。
屬性介紹
RelativeLayout 屬性:
RelativeLayout 可以指定子檢視相對於父檢視或彼此(由 ID 確定)的位置。因此,可以按照右邊框對齊兩個元素,或者使它們一上一下,螢幕居中,左側居中,等等。預設情況下,所有子檢視均繪製在佈局的左上角,因此必須使用 RelativeLayout.LayoutParams 中提供的各種佈局屬性定義每個檢視的位置。
有很多佈局屬性可用於 RelativeLayout 中的檢視,部分示例包括:
android:layout_alignParentTop
如果為 "true",會將此檢視的上邊緣與父檢視的上邊緣對齊。
android:layout_centerVertical
如果為 "true",會將此子級在父級內垂直居中。
android:layout_below
將此檢視的上邊緣放置在使用資源 ID 指定的檢視下方。
android:layout_toRightOf
將此檢視的左邊緣放置在使用資源 ID 指定的檢視右側。
示例:
為了讓UI好看一點,先定義一下樣式,在style.xml檔案中新增一個style。
<style name="RelativeLayoutDemo1Item"> <item name="android:layout_height">wrap_content</item> <item name="android:layout_width">wrap_content</item> <item name="android:padding">4dp</item> <item name="android:background">@color/colorAccent</item> <item name="android:textColor">#ffffff</item> <item name="android:textSize">12sp</item> </style>
示例1:
在layout中增加RelativeLayout與一些子View。 子View設定了不同的屬性,分佈在父View的上下左右中各個地方。
<RelativeLayout android:layout_width="match_parent" android:layout_height="100dp"> <TextView style="@style/RelativeLayoutDemo1Item" android:text="default" /> <TextView style="@style/RelativeLayoutDemo1Item" android:layout_alignParentEnd="true" android:text="layout_alignParentEnd" /> <TextView style="@style/RelativeLayoutDemo1Item" android:layout_centerInParent="true" android:text="layout_centerInParent" /> <TextView style="@style/RelativeLayoutDemo1Item" android:layout_alignParentBottom="true" android:text="layout_alignParentBottom" /> <TextView style="@style/RelativeLayoutDemo1Item" android:layout_alignParentEnd="true" android:layout_alignParentBottom="true" android:text="layout_alignParentBottom | End" /> </RelativeLayout>
示例2:
子View可以把另外的子View當做位置依據。
<RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginTop="120dp"> <TextView android:id="@+id/tv1" style="@style/RelativeLayoutDemo1Item" android:text="天" /> <TextView android:id="@+id/tv2" style="@style/RelativeLayoutDemo1Item" android:layout_below="@id/tv1" android:layout_toEndOf="@id/tv1" android:text="天" /> <TextView android:id="@+id/tv3" style="@style/RelativeLayoutDemo1Item" android:layout_below="@id/tv2" android:layout_toEndOf="@id/tv2" android:text="向" /> <TextView android:id="@+id/tv4" style="@style/RelativeLayoutDemo1Item" android:layout_below="@id/tv3" android:layout_toEndOf="@id/tv3" android:text="上" /> </RelativeLayout>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70008155/viewspace-2839863/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- android佈局------RelativeLayout(相對佈局)詳解Android
- RelativeLayout相對佈局
- Android UI控制元件系列:RelativeLayout(相對佈局)AndroidUI控制元件
- Android入門教程 | UI佈局之LinearLayout 線性佈局AndroidUI
- Android 相對佈局RelativeLayout 程式碼示例Android
- Android Layout 之 RelativeLayout,程式碼實現相對佈局Android
- Xamarin.Forms的相對佈局RelativeLayoutORM
- 佈局管理器——相對佈局
- DependentLayout相對佈局
- android 相對佈局,程式碼建立imageview,佈局居中問題AndroidView
- Flutter學習之”相對佈局“Flutter
- 關於Android中xml佈局檔案之android 入門xml佈局檔案AndroidXML
- css 佈局入門CSS
- CSS佈局入門CSS
- Android入門教程:ConstraintLayout約束佈局AndroidAI
- Android學習之 UI佈局優化AndroidUI優化
- android 入門xml佈局檔案AndroidXML
- HarmonyOS Java UI之DirectionalLayout佈局JavaUI
- CSS佈局入門[css]CSS
- 你需要的Grid佈局入門教程
- grid佈局快速入門
- Android之TableLayout(表格佈局)Android
- Android之佈局屬性Android
- Android GUI之View佈局AndroidGUIView
- Android 佈局Android
- 三欄佈局之自適應佈局
- 移動佈局基礎之 流式佈局
- CSS經典佈局之Sticky footer佈局CSS
- CSS 三欄佈局之聖盃佈局和雙飛翼佈局CSS
- UICollectionView左對齊流水佈局、右對齊流水佈局UIView
- CSS佈局 --- 居中佈局CSS
- css佈局-float佈局CSS
- UI設計教程學習分享:APP佈局UIAPP
- CSS:三欄佈局之雙飛翼佈局CSS
- Android中常見的佈局和佈局引數Android
- android筆記二(水平佈局與垂直佈局)Android筆記
- Android開發之常用佈局Android
- Android 佈局優化之includeAndroid優化