内容概览

  • -什么是相对布局?
  • -为什么要使用相对布局
  • -相对布局的相关属性
  • -综合练习

相对布局属性:-方向位置

  • android:layout_below:当前控件的上边缘对齐指定控件的下边缘(位于指定控件的底部)
  • android:layout_above:当前控件的下边缘对齐指定控件的上边缘(位于指定控件的顶部)
  • android:layout_toLeftOf:当前控件的右边缘对齐指定控件的左边缘(位于指定控件的左侧)
  • android:laoyut_toRightOf:当前控件的左边缘对齐指定控件的右边缘(位于指定控件的右边)

相对布局属性:-方向对齐

  • android:layout_alignTop:当前控件的上边缘对齐指定控件的上边缘对齐
  • android:layout_alignLeft:当前控件的左边缘对齐指定控件的左边缘对齐
  • android:layout_alignBottom:当前控件的下边缘对齐指定控件的下边缘对齐
  • android:layout_alignRight:当前控件的右边缘对齐指定控件的右边缘对齐

相对布局属性:-基准线对齐

  • android:layout_alignBaseline:为了使两个控件中英文单词(按照基准线)对齐

相对布局属性:-父控件边缘对齐

  • android:layout_alignParentTop:当前控件的上边缘对齐(当前控件的直接父控件)父控件的上边缘对齐
  • android:layout_alignParentLeft:当前控件的左边缘对齐(当前控件的直接父控件)父控件的左边缘对齐
  • android:layout_alignParentBottom:当前控件的下边缘对齐(当前控件的直接父控件)父控件的下边缘对齐
  • android:layout_alignParentRight:当前控件的右边缘对齐(当前控件的直接父控件)父控件的右边缘对齐

相对布局属性:-父控件中央对齐

  • android:layout_centerInParent:当前控件与父控件水平、垂直方向都对齐
  • android:layout_centerVertical:当前控件与父控件垂直方向都对齐
  • android:layout_centerHorizontal:当前控件与父控件水平方向都对齐

相对布局新属性:-头部尾部对象

  • android:layout_alignStart:当前控件的头部与指定控件的头部对齐
  • android:layout_alignEnd:当前控件的尾部与指定控件的尾部对齐
  • android:alignParentStart:当前控件的头部与父控件的头部对齐
  • android:alignParentEnd:当前控件的尾部与父控件的头部对齐

通用属性

  • android:padding:内边距
  • android:layout_margin:外边距
  • android:layout_gravity:当前控件与父控件的位置
  • android:gravity:当前控件内容的位置

相对布局属性的综合案例

Android相对布局的特点 android相对布局属性_Android相对布局的特点

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <TextView
        android:id="@+id/tv1"
        android:layout_width="80sp"
        android:layout_height="80sp"
        android:layout_centerInParent="true"
        android:background="@color/blue" />

    <TextView
        android:layout_width="80sp"
        android:layout_height="80sp"
        android:layout_above="@+id/tv1"
        android:layout_toLeftOf="@+id/tv1"
        android:background="@color/chartreuse" />

    <TextView
        android:layout_width="80sp"
        android:layout_height="80sp"
        android:layout_above="@+id/tv1"
        android:layout_toRightOf="@+id/tv1"
        android:background="@color/chartreuse" />

    <TextView
        android:layout_width="80sp"
        android:layout_height="80sp"
        android:layout_below="@+id/tv1"
        android:layout_toRightOf="@+id/tv1"
        android:background="@color/chartreuse" />

    <TextView
        android:layout_width="80sp"
        android:layout_height="80sp"
        android:layout_below="@+id/tv1"
        android:layout_toLeftOf="@+id/tv1"
        android:background="@color/chartreuse" />

    <TextView
        android:layout_width="80sp"
        android:layout_height="80sp"
        android:layout_alignParentLeft="true"
        android:background="@color/chartreuse" />

    <TextView
        android:layout_width="80sp"
        android:layout_height="80sp"
        android:layout_alignParentRight="true"
        android:background="@color/chartreuse" />

    <TextView
        android:layout_width="80sp"
        android:layout_height="80sp"
        android:layout_alignParentBottom="true"
        android:background="@color/chartreuse" />

    <TextView
        android:layout_width="80sp"
        android:layout_height="80sp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:background="@color/chartreuse" />

    <TextView
        android:layout_width="80sp"
        android:layout_height="80sp"
        android:layout_centerVertical="true"
        android:background="@color/chartreuse" />

    <TextView
        android:layout_width="80sp"
        android:layout_height="80sp"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:background="@color/chartreuse" />

</RelativeLayout>