绝对布局(AbsoluteLayout),绝对布局就像java AWT中的空布局;所谓的绝对布局就是Android不提供任何的布局控制,而是有开发人员自己通过X坐标和Y坐标来控制组件的位置。当使用绝对布局作为布局容器的时候,布局容器不在管理子容器的位置,大小(这些都需要开发人员自己控制)。
在使用绝对布局的时,每个组件都可以使用这两个XML属性
layout_x:指定该子组件的X坐标;
layout_y:指定该子组件的Y坐标;
以一个学习的例子做范例:
layout/main.xml
1 <?xml version="1.0" encoding="utf-8"?> 2 <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:orientation="vertical" 4 android:layout_width="fill_parent" 5 android:layout_height="fill_parent" 6 > 7 <!-- 定义一个文本框,使用绝对定位 --> 8 <TextView 9 android:layout_x="20dip" 10 android:layout_y="20dip" 11 android:layout_width="wrap_content" 12 android:layout_height="wrap_content" 13 android:text="用户名:" 14 /> 15 <!-- 定义一个文本编辑框,使用绝对定位 --> 16 <EditText 17 android:layout_x="80dip" 18 android:layout_y="15dip" 19 android:layout_width="wrap_content" 20 android:width="200px" 21 android:layout_height="wrap_content" 22 /> 23 <!-- 定义一个文本框,使用绝对定位 --> 24 <TextView 25 android:layout_x="20dip" 26 android:layout_y="80dip" 27 android:layout_width="wrap_content" 28 android:layout_height="wrap_content" 29 android:text="密 码:" 30 /> 31 <!-- 定义一个文本编辑框,使用绝对定位 --> 32 <EditText 33 android:layout_x="80dip" 34 android:layout_y="75dip" 35 android:layout_width="wrap_content" 36 android:width="200px" 37 android:layout_height="wrap_content" 38 android:password="true" 39 /> 40 <!-- 定义一个按钮,使用绝对定位 --> 41 <Button 42 android:layout_x="130dip" 43 android:layout_y="135dip" 44 android:layout_width="wrap_content" 45 android:layout_height="wrap_content" 46 android:text="登 录" 47 /> 48 </AbsoluteLayout>
上面代码所展示的效果图:
主程序
com.example.absolutelayouttest.MainActivity.java
1 package com.example.absolutelayouttest; 2 3 import android.support.v7.app.ActionBarActivity; 4 import android.support.v7.app.ActionBar; 5 import android.support.v4.app.Fragment; 6 import android.os.Bundle; 7 import android.view.LayoutInflater; 8 import android.view.Menu; 9 import android.view.MenuItem; 10 import android.view.View; 11 import android.view.ViewGroup; 12 import android.os.Build; 13 14 public class MainActivity extends ActionBarActivity { 15 16 @Override 17 protected void onCreate(Bundle savedInstanceState) { 18 super.onCreate(savedInstanceState); 19 setContentView(R.layout.main); 20 21 22 } 23 24 }
上面的主程序就只是把layout/main.xml布局显示了一下。
layout/main.xml界面布局中指定的各组件android:layout_x、android:layout_y属性时指定了形如20dip的属性值。
Android中一般支持如下常用的距离单位:
Android 自学之绝对布局 AbsoluteLayout,布布扣,bubuko.com
Android 自学之绝对布局 AbsoluteLayout
原文:http://www.cnblogs.com/Yang-jing/p/3747124.html