绝对布局由AbsoluteLayout所代表。
Android不提供任何布局控制,而是有开发人员自己通过X坐标、Y坐标来控制组件的位置。
当使用AbsoluteLayout座位布局容器时,布局容器不再管理子组件的位置、大小——这些都需要开发人员自己控制。
使用绝对布局时,每个子组件都可指定如下两个XML属性。
layout_x:指定该子组件的X坐标。
layout_y:指定该子组件的Y坐标。
实例:登录界面
下面是该登录界面的界面布局文件。
<?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" 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" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:context="com.example.l2112.jueduibuju.MainActivity" tools:showIn="@layout/activity_main"> <!-- 定义一个文本框,使用绝对定位 --> <TextView android:layout_x="20dp" android:layout_y="20dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="用户名:" /> <!-- 定义一个文本编辑框,使用绝对定位 --> <EditText android:layout_x="80dp" android:layout_y="15dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:width="400px"/> <!-- 定义一个文本框,使用绝对定位 --> <TextView android:layout_x="20dp" android:layout_y="80dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="密 码:" /> <!-- 定义一个文本编辑框,使用绝对定位 --> <EditText android:layout_x="80dp" android:layout_y="75dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:width="400px" android:password="true"/> <!-- 定义一个按钮,使用绝对定位 --> <Button android:layout_x="130dp" android:layout_y="135dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="登 录" /> </AbsoluteLayout>上面的绝对布局容器中的每个子组件都指定了layout_x layout_y两个定位属性,这样才控制了每个子组件在容器中出现的位置。
效果如下。