我们从RalativeLayout可以知道,该布局的父子Container中所有的Widgets之间的位置都是相对的。你可以把Widget A放在Widget的左下方,或者放在Widget的底边并和Container的底边之间。它允许为Container或者widget指定其相对于其他widgets或者父Container的位置。Container或者widgets是按顺序排列的,如果第一个Container或者widget在屏幕的中央,那么相对于其的其他Container和widgets将以屏幕的中央来排列。如果使用XML的Layout文件来定义,被引用的Container或者widgets必须被定义。 在XML的layout文件中,我们就能够引用同一文件的Widgets,并且可以标识其他Widgets的相对位置。 标识一个Widgets在其Container中的位置,我们有下面的属性参数可以用,这些参数的值可以使true或者false: 1).android:layout_alignParentTop: 表示widget的顶部和Container的顶部重合。 2).android:layout_alignParentBottom: 表示widget的底部和Container的底部重合。 3).android:layout_ alignParentLeft: 表示widget的左边和Container的左边重合。 4).android:layout_ alignParentRight: 表示widget的右边和Container的 右 边重合。 5).android:layout_ centerHorizontal: 表示widget处于Container水平方向上的中间。 6).android:layout_ centerVertical: 表示widget 处于Container垂直方向上的中间 。 7).android:layout_ centerInParent: 表示widget 处于Container平面上的正中间 。 标识同一个Container中的不同的widgets之间的相对位置时,可有用如下的属性参数,参数值是其他widgets的应用。相对位置上的widgets的引用的设定如下:首先必须给所有的被引用的widgets赋予标示符,通过android:id的属性,格式如@+id/widget1,然后在其他widget引用的时候使用同样的标示符,格式如@id/widget1,例:如果widget A标识为@+id/widget A,则widget B在其属性里面通过@id/widget A引用widget A。 1).android:layout_above: 表示该widget必须位于参数值标识的widget的上方。 2).android:layout_below: 表示该widget必须位于参数值标识的widget的下方。 3).android:layout_toLeftOf: 表示该widget必须位于参数值标识的widget的左方。 4).android:layout_toLeftOf: 表示该widget必须位于参数值标识的widget的右方。 5).android:layout_alignTop: 表示该widget的顶部必须参数值标识的widget的顶部重合。 6).android:layout_alignBottom: 表示该widget的底部必须参数值标识的widget的底部重合。 7).android:layout_alignLeft: 表示该widget的左边必须参数值标识的widget的左边重合。 8).android:layout_alignRight: 表示该widget的右边必须参数值标识的widget的右边重合。 9).android:layout_alignBaseLine: 表示该widget的BaseLine必须参数值标识的widget的BaseLine重合。这个主要用于Label或者其他包含文本的widgets。 在我们引用widget时不能引用该文件中尚未定义的widget。 具体的示例如下: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="5px" > <TextView android:id="@+id/label" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="URL:" android:paddingTop="15px"/> <EditText android:id="@+id/entry" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_toRightOf="@id/label" android:layout_alignBaseline="@id/label" /> <Button android:id="@+id/ok" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/entry" android:layout_alignRight="@id/entry" android:text="OK" /> <Button android:id="@+id/cancel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toLeftOf="@id/ok" android:layout_alignTop="@id/ok" android:text="cancel" /> </RelativeLayout> 示图如下: |
Android Layout之三:RalativeLayout(一)
最新推荐文章于 2023-03-18 20:52:54 发布