基本属性
- gravity:设置容器内组件的对齐方式------ horizontal(横向) vertical(纵向)
- ignoreGravity:设置了该属性为true的属性的组件,不受gravity属性的影响
<?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"
android:orientation="vertical"
android:ignoreGravity="@id/Et_1"
>
<EditText
android:id="@+id/Et_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="请输入尼玛"
/>
<Button
android:id="@+id/Bt_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello"
android:textAllCaps="false"
/>
</RelativeLayout>
根据父容器定位
- layout_alignParentLeft -左对齐
- layout_alignParentRight -右对齐
- layout_alignParentTop -顶部对齐
- layout_alignParentButtom -底部对齐
- android:layout_centerHorizontal -水平居中
- android:layout_centerVertical -垂直居中
- android:layout_centerInParent -中间位置
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<Button
android:id="@+id/Bt_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Left"
android:layout_alignParentLeft="true"
android:textAllCaps="false"
/>
<Button
android:id="@+id/Bt_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Right"
android:layout_alignParentRight="true"
android:textAllCaps="false"
/>
<Button
android:id="@+id/Bt_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Top"
android:layout_alignParentTop="true"
android:textAllCaps="false"
/>
<Button
android:id="@+id/Bt_4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="buttom"
android:layout_alignParentBottom="true"
android:textAllCaps="false"
/>
<Button
android:id="@+id/Bt_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Horizontal"
android:layout_centerHorizontal="true"
android:textAllCaps="false"
/>
<Button
android:id="@+id/Bt_6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Vertical"
android:layout_centerVertical="true"
android:textAllCaps="false"
/>
<Button
android:id="@+id/Bt_7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="InParent"
android:layout_centerInParent="true"
android:textAllCaps="false"
/>
</RelativeLayout>
效果图
根据兄弟组件定位
- layout_toLeftOf --定位在组件左边
- layout_toRightOf --定位在组件右边
- layout_above – 定位在组件上方
- layout_below --定位在组件下方
- layout_alignTop --参考组件上边界并对齐
- layout_alignButtom --参考组件下边界并对齐
- layout_alignLeft --参考组件左边界并对齐
- layout_alignRight --参考组件右边界并对齐
<Button
android:id="@+id/Bt_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="mom"
android:layout_centerInParent="true"
android:textAllCaps="false"
/>
<Button
android:id="@+id/Bt_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Left"
android:textAllCaps="false"
android:layout_toLeftOf="@id/Bt_1"
/>
<Button
android:id="@+id/Bt_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Righ"
android:textAllCaps="false"
android:layout_toRightOf="@id/Bt_1"
/>
<Button
android:id="@+id/Bt_4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="above"
android:textAllCaps="false"
android:layout_above="@id/Bt_1"
/>
<Button
android:id="@+id/Bt_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="below"
android:textAllCaps="false"
android:layout_below="@id/Bt_1"
/>
<Button
android:id="@+id/Bt_6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="align"
android:textAllCaps="false"
android:layout_alignTop="@id/Bt_1"
/>
<Button
android:id="@+id/Bt_7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="alignLeft"
android:textAllCaps="false"
android:layout_alignLeft="@id/Bt_1"
/>
效果图
margin(偏移)
偏移就是设置组件和父容器的边距。
- layout_margin :设置组件上下左右的偏移量
- layout_marginLeft :设置组件左的偏移量
- layout_marginTop :设置组件上的偏移量
- layout_marginRight :设置组件右的偏移量
- layout_marginButtom :设置组件下的偏移量
填充
填充是处理组件内元素之间的边距
- android:padding -往内部元素的上下左右填充一定边距
- android:paddingLeft -往内部元素的左填充一定边距
- android:paddingTop -往内部元素的上填充一定边距
- android:paddingButtom -往内部元素的下填充一定边距
- android:paddingRight -往内部元素的右填充一定边距