huangkun 2013-10-09
个人理解: 相对布局:以一个对象为参照,另一个对象添加到这个对象的上,下、左、右, 左上、左下、右上、右下等位置
宽度包含内容
android:layout_width
wrap_content 与内容宽度相同
fill_parent 与父对象宽度相同
android:layout_below="@+id/ok"
对象位于id为ok对象的下面
android:layout_toLeftOf="@id/ok"
对象位于ok对象的左边
android:layout_centerHorizontal="true"
水平居中,个人认为就是在容器中间对齐
android:layout_alignLeft="@+id/ok"
与id为ok的对象左对齐
padding表示填充,margin表示边距
可通过android:padding属性进行设置,4个方向的边距属性为android:paddingLeft, android:paddingRight, android:paddingTop, and android:paddingBottom.
结论:
*android:layout_marginBottom
*android:layout_marginLeft
*android:layout_marginRight
*android:layout_marginTop
上面几个属性的值是根据下面的相对位置的对象的值来做计算的,如果没有相对的对象就以总体布局来计算
*android:layout_below
*android:layout_above
*android:layout_toLeftOf
*android:layout_toRightOf
*android:layout_alignTop
*android:layout_centerHrizontal //是否支持横屏或竖屏
*android:layout_centerVertical //这个根据单词的意思:中心垂直
*android:layout_centerInparent //
android:layout_centerInParent="true"//居中在父对象
android:layout_centerInParent="false" ... 浏览器不支持多窗口显示,意思就是说所有页面在单一窗口打开,这样避免了页面布局控制显示问题
下面的相对于父的相对位置
*android:layout_alignParentBottom
*android:layout_alignParentLeft
*android:layout_alignParentRight
*android:layout_alignParentTop
*android:layout_alignWithParentIfMissing
实例代码:
<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:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> <Button android:id="@+id/testBtn1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/textView1" android:layout_centerHorizontal="false" android:layout_marginTop="46dp" android:text="Button" /> <Button android:id="@+id/activity1_btn2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/testBtn1" android:layout_below="@+id/testBtn1" android:layout_marginTop="20dp" android:text="RadioGroupStudy" /> <Button android:id="@+id/testBtn4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/activity1_btn2" android:layout_centerHorizontal="true" android:layout_marginTop="20dp" android:text="@string/linerlayout_test" /> </RelativeLayout>