1.和父元素对齐属性: (参数值为true)
android:layout_centerHrizontal 水平居中
android:layout_centerVertical 垂直居中
android:layout_centerInparent 相对于父元素完全居中
android:layout_alignParentBottom 与父元素的下边缘对齐
android:layout_alignParentLeft 与父元素的左边缘对齐
android:layout_alignParentRight 与父元素的右边缘对齐
android:layout_alignParentTop 与父元素的上边缘对齐
android:layout_alignWithParentIfMissing 如果对应的兄弟元素找不到的话就以父元素做参照物
2.和相对元素对齐属性: (参数值为某元素的id)
android:layout_below 在某元素的下方
android:layout_above 在某元素的的上方
android:layout_toLeftOf 在某元素的左边
android:layout_toRightOf 在某元素的右边
android:layout_alignTop 本元素的上边缘和指定ID控件的上边缘对齐
android:layout_alignLeft 本元素的左边缘和指定ID控件的左边缘对齐
android:layout_alignBottom 本元素的下边缘和指定ID控件的下边缘对齐
android:layout_alignRight 本元素的右边缘和指定ID控件的右边缘对齐
3.间距属性: (参数值为具体数字)
android:layout_marginBottom 离某元素底边缘的距离
android:layout_marginLeft 离某元素左边缘的距离
android:layout_marginRight 离某元素右边缘的距离
android:layout_marginTop 离某元素上边缘的距离
4.实际例子
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000000"
android:focusable="true"
android:focusableInTouchMode="true"
android:padding="20dp" >
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:textColor="#ffff00" />
<EditText
android:layout_marginTop="20dp"
android:id="@+id/et1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/tv1" />
<Button
android:layout_below="@id/et1"
android:layout_alignLeft="@id/et1"
android:id="@+id/bt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ok" />
<Button
android:layout_below="@id/et1"
android:layout_toRightOf="@id/bt1"
android:id="@+id/bt2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="cancle" />
<Button
android:layout_below="@id/et1"
android:layout_toRightOf="@id/bt2"
android:id="@+id/bt3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="check" />
</RelativeLayout>
效果图
注意:当要设置子控件的相对位置时,要注意先设置的哪一个,后面的都要在先设置的子控件后面设置。比如,本例中的3个按钮顺序,先设置的ok按钮,那么后面设置的按钮在xml文件中必须在ok的Button按钮之后,正如上面代码顺序一样,否则要报错运行不起。
5.android:padding和android:margin的区别
padding是站在父view的角度描述问题,它规定它里面的内容与这个父view边界(上下左右)的距离。
没有设置padding时的效果图
设置了padding的效果图(注意上下左右都离父控件20dp)
margin则是站在自己的角度描述问题,规定自己和其他(上下左右)的view之间的距离,如果同一级只有一个view,那么它的效果基本上就和padding一样。