![Hello HarmonyOS!:鸿蒙应用开发从入门到精通](https://wfqqreader-1252317822.image.myqcloud.com/cover/437/43738437/b_43738437.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.2.3 StackLayout
与前两种布局方式相比,StackLayout(层叠布局)相对简单一些。它会为每一个放进去的组件创建一个空白区域,通常称为一层。这些层默认会从屏幕左上角开始绘制,即 StackLayout 默认从左上角的(0,0)坐标开始绘制组件,最先放入的组件位于底层,最后放入的组件在最上层,这些组件看起来好像层叠在一起,这就是 StackLayout 的效果。层叠布局在开发过程中可以用于地图设计、游戏页面等场景,如图2-21所示。
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_106_2.jpg?sign=1739276324-oyZBybrlkj8cws1xmn2YPI8YOWv7Q1GA-0-6417e2ea166449bea7fbc91913d86a2b)
图2-21 层叠布局示意图
下面通过实践来加深对层叠布局的理解。创建一个最外层为 StackLayout的父布局,并在其中添加相应的组件。
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_107_1.jpg?sign=1739276324-5Y7CDo3A2cHiMKCVdnEvvSE5G4vq2F3X-0-2f8e2da9b4882134bda63328999f4372)
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_108_1.jpg?sign=1739276324-XSRNKmPsD0CJx6fh8P4jJkU0cEUuUmXn-0-1b931ee7ff66f48b4150a09c32ef1e8e)
在上述布局文件中添加了三个 Te x t 组件,其属性在后面章节中再详细介绍。这三个组件从上到下依次变小,颜色逐渐变浅,层次堆叠摆放,最后添加的“第三层”在顶部,“第一层”在底部,重叠部分会被顶部的盖住。页面的预览效果如图 2-22所示。
其实也可以看到,StackLayout 中的组件位置也是可以改变的,只是默认从左上角开始绘制。在上述案例中,通过ohos:layout_alignment属性改变了组件在 StackLayout 中的位置。除了 center,StackLayout还支持以下位置属性值,见表2-3。
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_108_2.jpg?sign=1739276324-6u205SLNUzpCQ2H2fEYgyUsT2itYjuHG-0-59d7969fdaf7d512cbe5c601fa7b3cfe)
图2-22 层叠布局的显示效果
表2-3 StackLayout中的位置属性值
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_108_3.jpg?sign=1739276324-UiFoFzf47sKUi3a7Cm4Xx5GltsltnnhI-0-1124b252f50c1130c5e5e77a986df763)
ohos:layout_alignment 还支持这些属性值的组合使用。比如,想让组件在底部右对齐,这个时候可以使用“|”作为连接符来组合多个属性值,只需要使用ohos:layout_alignment="bottom|right"就可以实现组件在底部右对齐。