本章节翻译自《Beginning-Android-4-Application-Development》,如有翻译不当的地方,敬请指出。
原书购买地址http://www.amazon.com/Beginning-Android-4-Application-Development/dp/1118199545/使用RelativeLayout,可以很容易地实现锚定视图。观察以下的main.xml文件,它包含了5个被内嵌在<RelativeLayout>中的Button:
- <RelativeLayout
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- xmlns:android="http://schemas.android.com/apk/res/android">
- <Button
- android:id="@+id/button1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Top Left"
- android:layout_alignParentLeft="true"
- android:layout_alignParentTop="true" />
- <Button
- android:id="@+id/button2"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Top Right"
- android:layout_alignParentTop="true"
- android:layout_alignParentRight="true" />
- <Button
- android:id="@+id/button3"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Bottom Left"
- android:layout_alignParentLeft="true"
- android:layout_alignParentBottom="true" />
- <Button
- android:id="@+id/button4"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Bottom Right"
- android:layout_alignParentRight="true"
- android:layout_alignParentBottom="true" />
- <Button
- android:id="@+id/button5"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="Middle"
- android:layout_centerVertical="true"
- android:layout_centerHorizontal="true" />
- </RelativeLayout>
- layout_alignParentLeft —— 把子视图设置在父视图内部的左边
- layout_alignParentRight —— 把子视图设置在父视图内部的右边
- layout_alignParentTop —— 把子视图设置在父视图内部的顶部
- layout_alignParentBottom —— 把子视图设置在父视图内部的底部
- layout_centerVertical —— 把子视图设置在父视图内部的垂直中心
- layout_centerHorizontal —— 把子视图设置在父视图内部的水平中心
下图展示了在竖屏portrait模式下,程序是如何显示的:

当屏幕方向变成 横屏landscape模式,四个按钮被分配到了屏幕的四周,中间的按钮还是被分配到了屏幕的中间,同时它也被拉伸了。见下图:


本文介绍如何利用RelativeLayout在Android应用中创建灵活的布局。通过锚定视图的位置,可以在不同屏幕尺寸和方向上保持良好的视觉效果。
834

被折叠的 条评论
为什么被折叠?



