Android UI控制元件系列:RelativeLayout(相對佈局)
RelativeLayout是一個在相對位置上顯示子View元素的VeiwGroup,一個檢視的位置,可以指定為相對於兄妹的元素(比如一個給定的與孫的左邊或者下邊)或者心愛那個對於RelativeLayout區域的位置(比如與底部對齊,剩下的中心)
一個RelativeLayout是一個非常強大使用的為設定使用者介面的佈局,因為它可以消除巢狀的檢視組ViewGroup,如過你發現你用了幾個巢狀的LinearLayout組,你可以替換為一個單獨的RelativeLayout
1、開始一個新的工程,名字叫做HelloRelativeLayout
2、開啟res/layout/main.xml檔案並且插入如下資訊
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/label" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Type here:" /> <EditText android:id="@+id/entry" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@android:drawable/editbox_background" android:layout_below="@id/label" /> <Button android:id="@+id/ok" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/entry" android:layout_alignParentRight="true" android:layout_marginLeft="10dip" android:text="OK" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toLeftOf="@id/ok" android:layout_alignTop="@id/ok" android:text="Cancel" /> </RelativeLayout>
3、注意到每一個android:layout_*屬性,比如layout_below,layout_alignParentRightRight,和layout_toLeftOf,當用一個RelativeLayout的時候,你可以用這些屬性來描述你想要的每個檢視View的位置,每一個這些屬性都定義一個不懂種類的相對位置,一些屬性用到同級檢視的資源ID來定義自己的相對位置。比如最後一個Button是被定義到位於被定義ID為ok的檢視的左邊和頂部對齊,所有的layout佈局屬性都被定義在RelativeLayout.LayoutParams中
4、現在開啟HelloLinearLayout.java並且確定它已經在onCreate()方法中載入了res/layout/main.xml佈局檔案
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);
5、你可以看到如下的佈局
相關文章
- Android入門教程 | UI佈局之RelativeLayout 相對佈局AndroidUI
- Android 相對佈局RelativeLayout 程式碼示例Android
- DependentLayout相對佈局
- Android入門教程 | UI佈局之LinearLayout 線性佈局AndroidUI
- Flutter學習指南:UI佈局和控制元件FlutterUI控制元件
- Flutter學習之”相對佈局“Flutter
- 阿里Android開發規範:UI 與佈局阿里AndroidUI
- SAP UI5 Form 控制元件的 ColumnLayout 佈局特性UIORM控制元件
- android基礎學習-android篇day15-相對佈局的常用屬性Android
- Android 佈局Android
- Android Material Design控制元件使用(一)——ConstraintLayout 約束佈局AndroidMaterial Design控制元件AI
- css佈局系列1——盒模型佈局CSS模型
- Android學習—— Android佈局Android
- 八、android當中五大布局控制元件。其它常用佈局Android控制元件
- 學習筆記(十二):ArkUi-相對佈局 (RelativeContainer)筆記UIAI
- QT佈局之控制元件空隙QT控制元件
- tkinter中frame佈局控制元件控制元件
- 組合控制元件的佈局控制元件
- Android 佈局優化Android優化
- android --巧用 flexboxLayout 佈局AndroidFlex
- 【5年Android從零覆盤系列之五】關於頁面佈局控制元件開發總結Android控制元件
- Android中常見的佈局和佈局引數Android
- HarmonyOS Java UI之DirectionalLayout佈局JavaUI
- css經典佈局系列一——垂直居中佈局CSS
- SAP UI5 應用 SimpleForm 控制元件 ResponsiveGridLayout 佈局的工作原理深入剖析UIORM控制元件
- Flutter 佈局控制元件完結篇Flutter控制元件
- WPF自定義FixedColumnGrid佈局控制元件控制元件
- Flutter 佈局控制元件篇-->Row、ColumnFlutter控制元件
- Flutter 佈局控制元件篇-->Flex、ExpandedFlutter控制元件Flex
- Flutter 佈局控制元件篇-->Stack、PositionedFlutter控制元件
- Flutter 佈局控制元件篇-->Wrap、FlowFlutter控制元件
- css經典佈局系列二——等分等高佈局CSS
- Android FlexboxLayout 佈局詳解AndroidFlex
- 【Flutter 1-16】Flutter手把手教程UI佈局和Widget——容器控制元件ContainerFlutterUI控制元件AI
- CSS系列之常用佈局CSS
- Masonry佈局控制元件,自動換行控制元件
- css經典佈局系列三——三列布局(聖盃佈局、雙飛翼佈局)CSS
- CSS佈局相關基本概念CSS
- 寫給 Android 開發的小程式佈局指南,Flex 佈局!AndroidFlex