佈局管理器——相對佈局
介紹
相對佈局由RelativeLayout代表,相對佈局容器內子元件的位置總是相對兄弟元件、父容器來決定。
如果A元件的位置是由B元件的位置來決定的,Android要求先定義B元件,再定義A元件。
為了控制該佈局容器中各個子元件的佈局分佈,RealativeLayout提供了一個內部類:RelativeLayout.LayoutParams,該類提供了大量的XML屬性來控制RelativeLayout佈局容器中子元件的佈局分佈。
由於RelativeLayout.LayoutParams繼承了android.view.ViewGroup.MarginLayoutParams,因也可以使用其父類所支援的各XML屬性。
用例
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--定義該元件位於父容器中間-->
<TextView
android:id="@+id/view01"
android:layout_width="@android:dimen/notification_large_icon_height"
android:layout_height="@android:dimen/notification_large_icon_height"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:background="@drawable/leaf" />
<!--定義該元件位於view01元件上方-->
<TextView
android:id="@+id/view02"
android:layout_width="@android:dimen/notification_large_icon_height"
android:layout_height="@android:dimen/notification_large_icon_width"
android:layout_above="@+id/view01"
android:layout_alignLeft="@+id/view01"
android:background="@drawable/leaf" />
<!--定義該元件位於view01元件下方-->
<TextView
android:id="@+id/view03"
android:layout_width="@android:dimen/notification_large_icon_height"
android:layout_height="@android:dimen/notification_large_icon_width"
android:layout_alignLeft="@id/view01"
android:layout_below="@id/view01"
android:background="@drawable/leaf" />
<!--定義該元件位於view01元件的左側-->
<TextView
android:id="@+id/view04"
android:layout_width="@android:dimen/notification_large_icon_height"
android:layout_height="@android:dimen/notification_large_icon_width"
android:layout_alignTop="@id/view01"
android:layout_toLeftOf="@id/view01"
android:background="@drawable/leaf" />
<!--定義該元件位於view01元件的右邊-->
<TextView
android:id="@+id/view05"
android:layout_width="@android:dimen/notification_large_icon_width"
android:layout_height="@android:dimen/notification_large_icon_height"
android:layout_alignTop="@id/view01"
android:layout_toRightOf="@id/view01"
android:background="@drawable/leaf" />
</RelativeLayout>
</LinearLayout>
相應地介面展示結果:
摘自《瘋狂Android講義》
相關文章
- DependentLayout相對佈局
- android佈局------RelativeLayout(相對佈局)詳解Android
- RelativeLayout相對佈局
- Android入門教程 | UI佈局之RelativeLayout 相對佈局AndroidUI
- android 相對佈局,程式碼建立imageview,佈局居中問題AndroidView
- 流式佈局管理器
- 常用佈局管理器
- Flutter學習之”相對佈局“Flutter
- 邊界佈局管理器
- 網格佈局管理器
- 佈局管理器面面觀
- UICollectionView左對齊流水佈局、右對齊流水佈局UIView
- CSS佈局 --- 居中佈局CSS
- css佈局-float佈局CSS
- 自定義佈局管理器-FormLayoutORM
- JavaGUI - [03] LayoutManager佈局管理器JavaGUI
- 居中佈局、三欄佈局
- qt 佈局---表單佈局QT
- java:佈局方法(流佈局)Java
- flex佈局(彈性佈局)Flex
- 佈局技巧:合併佈局
- Xamarin.Forms的相對佈局RelativeLayoutORM
- CSS 佈局之水平居中佈局CSS
- CSS佈局之三欄佈局CSS
- 浮動佈局 和 flex佈局Flex
- CSS佈局 --- 自適應佈局CSS
- CSS佈局 --- 等寬&等高佈局CSS
- 彈性佈局(伸縮佈局)
- 佈局
- Tkinter (46) 佈局幾何管理器
- CSS經典佈局——聖盃佈局與雙飛翼佈局CSS
- 使用 Flex 佈局與其他普通佈局的簡單對比Flex
- Android 相對佈局RelativeLayout 程式碼示例Android
- CSS佈局–聖盃佈局和雙飛翼佈局以及使用Flex實現聖盃佈局CSSFlex
- css佈局系列1——盒模型佈局CSS模型
- 聖盃佈局?雙飛翼佈局?
- 網頁佈局------幾種佈局方式網頁
- CSS 三欄佈局之聖盃佈局和雙飛翼佈局CSS