![Android移动应用开发技术与实践](https://wfqqreader-1252317822.image.myqcloud.com/cover/15/40681015/b_40681015.jpg)
上QQ阅读APP看书,第一时间看更新
4.4 绝对布局(AbsoluteLayout)
绝对布局一般是不会被使用的,但作为一个优秀的程序员,还是必须要掌握它的用法。开发应用需要在很多机型上进行适配,如果使用了绝对布局,会因为手机屏幕尺寸差别比较大,适应性比较差,在屏幕上的适配会产生缺陷,所以不建议使用。
4.4.1 AbsoluteLayout介绍
AbsoluteLayout又可以叫作坐标布局,采用坐标轴的方式定位组件,左上角是(0,0)点,往右x轴递增,往下y轴递增。
AbsoluteLayout子类控件的属性如下。
1)android:layout_x="35dip"控制当前子类控件的x位置。
2)android:layout_y="40dip"控制当前子类控件的y位置。
使用示例:
1)先设置成AbsoluteLayout绝对布局,如图4-4所示。
2)从左边拖拉两个TextView和EditText以及一个按钮到界面上,如图4-5所示。
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/100_02.jpg?sign=1739517123-TMLDHFKGyiJC2ItifjnZOf0Yj9JEPLuR-0-b348104d75f0733cad87385910979c1b)
图4-4 设置AbsoluteLayout
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/100_03.jpg?sign=1739517123-uKQHfEJBf05BpX7UBULacd7ddAe6ZmQY-0-831673bc2521d42190cf0c5d7832dcdd)
图4-5 修改前
3)在代码中修改坐标,如图4-6和图4-7所示。
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/101_01.jpg?sign=1739517123-Pxu0PTOSyOtFO8jAABzdgLMOpNUx7WbI-0-fd39bb90d6fe1111b15dec645ceca4eb)
图4-6 修改后(a)
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/101_02.jpg?sign=1739517123-TBXtJd24NTJToXDab8hFdQgdwzzzxE9I-0-8de655a479d5459fc219d4d94cc59215)
图4-7 修改后(b)
4.4.2 AbsoluteLayout实例
AbsoluteLayout可以直接指定子元素的绝对位置,这种布局简单直接,直观性强。但是由于手机屏幕尺寸差别比较大,使用绝对定位的适应性会比较差。
【例4-4】 布局XML
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/101_03.jpg?sign=1739517123-PiQm3F7DDLrZuneUW5ymZ9HYwrKHSXop-0-6b480503f2c7955261e8eb15c57a273a)
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/102_01.jpg?sign=1739517123-wlmGHCyo7xMKn2pTgy5MpdB9hJyozjit-0-033ab6422e54f880a1d12f7728539dca)
编译并运行,结果如图4-8所示。
![](https://epubservercos.yuewen.com/B95AF2/21122066801630906/epubprivate/OEBPS/Images/102_02.jpg?sign=1739517123-lAFaisrKBrnkdO7lhS8372cQFNcKAUGP-0-79d51a8bb3141e7c1624670a87cd61b8)
图4-8 运行结果
【程序说明】
Button中对按钮的属性进行配置。
配置声明了按钮的大小、位置以及名称。