Android AbsoluteLayout

分享到:

AbsoluteLayout(绝对定位布局),目前来讲AbsoluteLayout这种绝对定位布局控件已经很少在项目中使用了。因为绝对定位是利用X,Y这种坐标点来把控件固定到屏幕上的,对不同分辨率屏幕的适配能力非常差,经常在开发机上表现良好的UI到了其它手机上变得面目全非,总之用这种布局开发出来的程序界面维护起来非常困难。不建议使用!但是做为Android SDK中一直存在的控件还是有必要了解一下。

AbsoluteLayout类结构如下 :

java.lang.Object
	android.view.View
		android.view.ViewGroup
			android.widget.AbsoluteLayout

AbsoluteLayout主要XML属性:

layout_x 控件在屏幕上的X轴坐标
layout_y 控件在屏幕上的Y轴坐标

AbsoluteLayout实例:

<AbsoluteLayout android:layout_width="fill_parent"  
android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="第一个TextView"
android:layout_x="10px" android:layout_y="10px">
</TextView>
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="第二个TextView"
android:layout_x="80px" android:layout_y="80px">
</TextView>
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="第三个TextView"
android:layout_x="150px" android:layout_y="150px">
</TextView>
</AbsoluteLayout>

运行效果如下图:

AbsoluteLayout实例

简单说明一下, 例子中的layout_x 和 layout_y 是实现绝对定位的两个关键属性,本例用的单位是px, 还可以用dp,sp等单位,下面简单说明一下这几种距离单位的区别:

dp(dip):device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。属于Android开发中的常用距离单位。

px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。

pt:point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;

sp: scaled pixels(放大像素). 主要用于字体显示best for textsize。

注意:Android开发不同于html,在html中我们习惯用的是px;而在android中,我们通常用dp,当然也可以写成dip 而字体的设置就用sp,上面例子只是为了说明问题所以用了px,实际开发中不建议这么做。

昵    称:
验证码:

相关文档:

Android控件
Android基础知识
Android组件
Android实例