RelativeLayout是相对布局控件,它包含的子控件将以控件之间的相对位置或者子类控件相对父类容器的位置的方式排列 相对布局的特点,控件可以随意拖拉摆放。(LinearLayout线性布局要么是水平摆放,要么是垂直摆放)
子控件在 RelativeLayout中常用的属性(相对父容器的一个位置) android:layout_alignParentLeft=”true” 子控件相对当前父容器靠左边 android:layout_alignParentTop=”true”子控件相对当前父容器靠上边 android:layout_marginLeft=”41dp”子控件距离当前父容器左边的距离 (边距) android:layout_marginTop=”33dp”子控件聚类当前父容器靠上边的距离 android:layout_centerInParent=”true”子控件相对当前父容器即水平中有垂直居中 android:layout_centerHorizontal=”true”子控件相对当前父容器靠水平居中 android:layout_centerVertical=”true”子控件相对当前父容器垂直居中 子类控件相对子类控件的位置 android:layout_below=”@+id/button1” android:layout_toRightOf=”@+id/button1” android:layout_above=”@+id/button1” android:layout_toLeftOf=”@+id/button1” android:layout_alignBaseline=”@+id/button1” android:layout_alignBottom=”@+id/button1” android:layout_alignLeft=”@+id/button1” android:layout_alignRight=”@+id/button1” android:layout_alignTop=”@+id/button1” RelativeLayout布局中的子布局有gravity属性
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.adb.li806.demo6.MainActivity" android:orientation="vertical" android:weightSum="1"> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="-110" android:layout_centerInParent="true" /> <Button android:id="@+id/button14" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/button1" android:layout_marginTop="48dp" android:layout_toLeftOf="@+id/button1" android:layout_toStartOf="@+id/button1" android:text="Button" /> <!-- 设置边距离: android:layout_marginLeft="40dp" android:layout_marginTop="40dp" android:layout_marginRight="40dp" android:layout_marginBottom="40dp" 等价于属性 android:layout_margin="40dp" android:layout_below="@+id/button1" 该控件位于给定id控件的底部 android:layout_toRightOf="@+id/button1" 该控件位于给定id控件的右边 android:layout_above="@+id/button1" 该控件位于给定id控件的上边 android:layout_toLeftOf="@+id/button1" 该控件位于给定id控件的左边 android:layout_alignBaseline="@+id/button1" 该控件与给定id控件的内容在一条线上 android:layout_alignBottom="@+id/button1" 该控件的底部边缘与给定id控件的底部边缘对齐 android:layout_alignLeft="@+id/button1" 该控件的左部边缘与给定id控件的左部边缘对齐 android:layout_alignRight="@+id/button1" 该控件的右部边缘与给定id控件的右部边缘对齐 android:layout_alignTop="@+id/button1" 该控件的上部边缘与给定id控件的上部边缘对齐 --> </RelativeLayout> <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:id="@+id/imageView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="52dp" android:layout_marginStart="52dp" android:layout_marginTop="20dp" app:srcCompat="@mipmap/ic_launcher" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="机器一号" android:layout_alignTop="@+id/imageView2" android:layout_toRightOf="@+id/imageView2" android:layout_toEndOf="@+id/imageView2" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="20元一个" android:layout_below="@+id/textView" android:layout_alignLeft="@+id/textView" android:layout_alignStart="@+id/textView" /> <TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView2" android:layout_alignStart="@+id/textView2" android:layout_below="@+id/textView2" android:text="帮你实现任何愿望" /> </RelativeLayout>