一. 简介

AbsoluteLayout(绝对布局),是因为绝对布局,我们基本上都是不会使用的,但是我们还是可以了解这个AbsoluteLayout布局的。放入该布局的UI控件通过 android:layout_xandroid:layout_y 两个属性指定其准确的坐标值,并显示在屏幕上。

理论上,AbsoluteLayout布局可用以完成任何的布局设计,灵活性很大,但是在实际的工程应用中不提倡使用这种布局。因为使用这种布局不但需要精确计算每个组件的大小,增大运算量,而且当应用程序在不同屏幕尺寸的手机上运行时会产生不同效果。

二. Xml方式

1. 所有的布局共有的属性

① View在左上右下四个方向和其他View之间的距离,值是 dp

1
2
3
4
android:layout_marginStart (android:layout_marginLeft) 
android:layout_marginTop
android:layout_marginEnd (android:layout_marginRight)
android:layout_marginBottom

② View内部元素到View左上右下边框之间的距离,值是 dp

1
2
3
4
android:paddingStart (android:paddingLeft)
android:paddingTop
android:paddingEnd (android:paddingRight)
android:paddingBottom

③ 容器 内部的对齐方式 以及 容器相对于父容器的对齐方式

1
2
android:gravity         //设置布局管理器内组件的对齐方式
android:layout_gravity //设置布局本身相对于父视图的位置

2. AbsoluteLayout

① AbsoluteLayout 的布局属性就两个

  1. android:layout_x : 设置控件在布局中的 X 轴方向距离。

  2. android:layout_y : 设置控件在布局中的 Y 抽方向距离。

AbsoluteLayout 只有这个两个属性,从绝对布局的名字就可以看出来,就是在 X 轴方向和 Y 轴方向通过 dip值(或者 px ) 绝对固定距离。

② AbsoluteLayout 的小例子

③ 结论

  1. 写在后面的布局View会覆盖写在前面的View。

  2. 在绝对定位中,如果子元素不设置layout_x和layout_y,那么它们的默认值是0。

参考文章

六大布局之非常用布局