相对布局(RelativeLayout)
1、基本属性
gravity :设置容器内组件的对齐方式
[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="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<Button
android:id="@+id/btn"
android:layout_width="80dp"
android:layout_height="80dp"
android:gravity="center"
android:text="居中"
android:textSize="18sp" />
</RelativeLayout>
</LinearLayout>
效果图:
2、 根据父容器定位
layout_alignParentLeft : 左对齐 layout_alignParenRight : 右对齐
layout_alignParentTop : 顶部对齐
layout_alignParentButtom : 底部对齐
android:layout_centerHorizontal :水平居中
android:layout_centerVertical : 垂直居中
android:layout_centerInParent : 中间位置
[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="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/btn1"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_centerInParent="true"
android:gravity="center"
android:text="居中"
android:textSize="18sp" />
<Button
android:id="@+id/btn2"
android:layout_width="100dp"
android:layout_height="80dp"
android:layout_centerVertical="true"
android:gravity="center"
android:text="垂直居中"
android:textSize="18sp" />
<Button
android:id="@+id/btn3"
android:layout_width="100dp"
android:layout_height="80dp"
android:layout_centerHorizontal="true"
android:gravity="center"
android:text="水平居中"
android:textSize="18sp" />
<Button
android:id="@+id/btn4"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_alignParentRight="true"
android:gravity="center"
android:text="右对齐"
android:textSize="18sp" />
<Button
android:id="@+id/btn5"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_alignParentLeft="true"
android:gravity="center"
android:text="左对齐"
android:textSize="18sp" />
<Button
android:id="@+id/btn6"
android:layout_width="100dp"
android:layout_height="80dp"
android:layout_alignParentBottom="true"
android:gravity="center"
android:text="底部对齐"
android:textSize="18sp" />
</RelativeLayout>
</LinearLayout>
效果图:
3、根据兄弟组件定位
layout_toLeftOf : 参考组件的左边
layout_toRightOf: 参考组件的左边
layout_above : 参考组件的上方
layout_below : 参考组件的下方
layout_alignTop :对齐参考组件的上边界
layout_alignBottom : 对齐参考组件的下边界
layout_alignLeft: 对齐参考组件的左边界
layout_alignRight : 对齐参考组件的右边界
前四个示例代码:
[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="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/btn1"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_centerInParent="true"
android:gravity="center"
android:text="居中"
android:textSize="18sp" />
<Button
android:id="@+id/btn2"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_centerInParent="true"
android:layout_toLeftOf="@id/btn1"
android:gravity="center"
android:text="左"
android:textSize="18sp" />
<Button
android:id="@+id/btn3"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_centerInParent="true"
android:layout_toRightOf="@id/btn1"
android:gravity="center"
android:text="右"
android:textSize="18sp" />
<Button
android:id="@+id/btn4"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_above="@id/btn1"
android:layout_centerInParent="true"
android:gravity="center"
android:text="上"
android:textSize="18sp" />
<Button
android:id="@+id/btn5"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_below="@id/btn1"
android:layout_centerInParent="true"
android:gravity="center"
android:text="下"
android:textSize="18sp" />
</RelativeLayout>
</LinearLayout>
效果图:
后四个示例代码:
[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="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/btn1"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_centerInParent="true"
android:gravity="center"
android:text="居中"
android:textSize="18sp" />
<Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="80dp"
android:layout_alignTop="@id/btn1"
android:gravity="center"
android:text="对齐上边界"
android:textSize="18sp" />
<Button
android:id="@+id/btn3"
android:layout_width="wrap_content"
android:layout_height="80dp"
android:layout_alignBottom="@id/btn1"
android:layout_alignParentRight="true"
android:gravity="center"
android:text="对齐下边界"
android:textSize="18sp" />
<Button
android:id="@+id/btn4"
android:layout_width="wrap_content"
android:layout_height="80dp"
android:layout_alignLeft="@id/btn1"
android:gravity="center"
android:text="对齐左边界"
android:textSize="18sp" />
<Button
android:id="@+id/btn5"
android:layout_width="wrap_content"
android:layout_height="80dp"
android:layout_alignParentBottom="true"
android:layout_alignRight="@id/btn1"
android:gravity="center"
android:text="对齐右边界"
android:textSize="18sp" />
</RelativeLayout>
</LinearLayout>
效果图(居中的按钮是参考组件):
|