news 2026/6/26 14:28:45

鸿蒙 ArkUI 入门:@State 状态与 Stack 层叠布局详解(附同心圆实战)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
鸿蒙 ArkUI 入门:@State 状态与 Stack 层叠布局详解(附同心圆实战)

一、一句话分清 @State 和 Stack

先解决最关键的疑问:二者完全不是一类东西

1.@state

定义:Stack是ArkUI层叠布局容器,和Column(上下排列)、Row(左右排列)同级。内部所有子组件会重叠摆放,适合做同心圆、文字浮层、消息小红点等叠加效果。

@state发生改变,这个页面实时发生更新

堆叠顺序:先写的组件在底层,后写的组件在上层,后写的覆盖先写的

格式:@State 变量名: 类型 = 初始值;

例子:

我在TextInput文本框输入123,下边会自动写出123,以此来实现@state的实时更新

@Entry @Component struct StstesDemo1{ @State msg:string="" build() { Column({space:20}){ TextInput({text:this.msg,placeholder:"请输入信息"}) .height(50) .width('100%') .onChange((value:string)=>{ this.msg=value }) Text("你输入的信息是:") .height(50) .width('100%') .fontSize(20) Text(this.msg) .width('100%') .padding(20) .fontSize(30) .backgroundColor(Color.Grey) } .width('100%') .height('100%') .padding(20) } }

2.stack层叠布局

定义:Stack 是层叠容器,内部所有子组件会重叠摆放:

堆叠顺序规则(最重要):先写的组件在底层,后写的组件在上层,后写的会盖住前面的Huawei Developer

以同心圆为例,

@Entry @Component struct CircleDemo { build() { Column() { Stack() { Stack() .width(200) .height(200) .backgroundColor(Color.Grey) .borderRadius(100) Stack() .width(120) .height(120) .backgroundColor(Color.Black) .borderRadius(60) } .width(150) .height(150) } .width('100%') .height('100%') .justifyContent(FlexAlign.Center) } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/26 14:25:57

工业照明选型技术总结:吸顶灯、V5、应急灯、TT69、TH款工况适配分析

在工业厂房新建、车间照明升级改造、老旧灯具迭代更换工程中,照明设备选型直接影响现场照度标准、设备运行稳定性、安全生产合规性以及全周期运维成本。工业照明灯具型号繁杂,多款常用灯具外观相似度较高,但在防护结构、散热能力、光衰控制、…

作者头像 李华
网站建设 2026/6/26 14:19:51

平面七点集的Tverberg划分:Sierksma猜想初等证明解析

1. 项目概述:从一道“分蛋糕”难题说起想象一下,你和六位朋友围坐在一张圆桌旁,面前摆着一个形状奇特的蛋糕。现在,你们七个人要分这个蛋糕,但规则有点特别:必须用三把刀,只切三刀,就…

作者头像 李华
网站建设 2026/6/26 14:18:44

专业的福州设计考研机构哪家实力强

在福州选择设计考研机构时,不少同学会陷入“名校多、师资杂、难判断”的焦虑中。结合多年辅导数据与学员口碑,绘江南设计考研(福州校区)凭借系统化的课程体系、强大的师资背景以及切实的升学成果,成为福州地区实力突出…

作者头像 李华