HarmonyOS鸿蒙Next中StackLayout布局练习与分享

HarmonyOS鸿蒙Next中StackLayout布局练习与分享 StackLayout直接在屏幕上开辟出一块空白的区域,添加到这个布局中的视图都是以层叠的方式显示,而它会把这些视图默认放到这块区域的左上角,第一个添加到布局中视图显示在最底层,最后一个被放在最顶层。上一层的视图会覆盖下一层的视图。

自己可以通过修改宽高设置大小来控制位置的变换,后面会有更多新的内容呈现出来,这里就简单的敲了个案例。

代码如下:

<?xml version="1.0" encoding="utf-8"?>
<StackLayout
    xmlns:ohos="http://schemas.huawei.com/res/ohos"
    ohos:id="$+id:stack_layout"
    ohos:height="match_parent"
    ohos:width="match_parent">

    <Text
        ohos:id="$+id:text_blue"
        ohos:text_alignment="bottom|right"
        ohos:text_size="24fp"
        ohos:text="第四层"
        ohos:height="match_parent"
        ohos:width="match_parent"
        ohos:background_element="#3F56EA" />

    <Text
        ohos:id="$+id:text_light_purple"
        ohos:text_alignment="bottom|right"
        ohos:text_size="24fp"
        ohos:text="第三层"
        ohos:height="300vp"
        ohos:width="match_parent"
        ohos:background_element="#00AAEE" />

    <Text
        ohos:id="$+id:text_light_lianxi"
        ohos:text_alignment="bottom|horizontal_center"
        ohos:text_size="24fp"
        ohos:text="第二层"
        ohos:height="match_parent"
        ohos:width="150vp"
        ohos:background_element="#FF74FF8B" />

    <Text
        ohos:id="$+id:text_orange"
        ohos:text_alignment="center"
        ohos:text_size="24fp"
        ohos:text="第一层"
        ohos:height="80vp"
        ohos:width="match_parent"
        ohos:background_element="#00BFC9" />

</StackLayout>
2 回复

在HarmonyOS鸿蒙Next中,StackLayout是一种常用的布局方式,允许子组件在垂直或水平方向上堆叠排列。StackLayout通过orientation属性来设置布局方向,可选值为vertical(垂直)和horizontal(水平)。默认情况下,StackLayout是垂直布局。

在StackLayout中,子组件按照添加的顺序依次排列,后添加的组件会覆盖在先添加的组件之上。可以通过设置子组件的layout_weight属性来调整其在布局中的占比,实现灵活的布局效果。

例如,以下代码展示了一个简单的StackLayout布局:

<StackLayout
    orientation="vertical"
    width="100%"
    height="100%">
    <Text
        text="First Component"
        width="100%"
        height="50vp"
        background-color="#FF0000"/>
    <Text
        text="Second Component"
        width="100%"
        height="50vp"
        background-color="#00FF00"/>
    <Text
        text="Third Component"
        width="100%"
        height="50vp"
        background-color="#0000FF"/>
</StackLayout>

在这个例子中,三个Text组件按照垂直方向堆叠排列,每个组件的高度为50vp,宽度为100%。由于StackLayout的特性,后添加的组件会覆盖在先添加的组件之上。

StackLayout还支持通过alignment属性来设置子组件的对齐方式,可选值包括topbottomleftrightcenter等。例如,设置alignment="center"可以使子组件在StackLayout中居中对齐。

总之,StackLayout是HarmonyOS鸿蒙Next中一种简单且灵活的布局方式,适用于需要堆叠排列的场景。通过合理设置orientationlayout_weightalignment等属性,可以实现多样化的布局效果。

更多关于HarmonyOS鸿蒙Next中StackLayout布局练习与分享的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,StackLayout是一种常用的布局方式,允许子组件在垂直或水平方向上堆叠排列。通过设置orientation属性为VERTICALHORIZONTAL,可以控制子组件的排列方向。每个子组件会按照添加顺序依次堆叠,适合用于创建层叠效果或简单的列表布局。练习时,可以通过动态添加或移除子组件来熟悉其布局机制,并结合weight属性实现灵活的尺寸分配。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!