论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
HarmonyOS5开辟:手把手教你用 Ark-TS UI 做一个会 “动 ...
HarmonyOS5开辟:手把手教你用 Ark-TS UI 做一个会 “动” 的计数器:从代 ...
吴旭华
论坛元老
|
2025-3-25 10:50:29
|
显示全部楼层
|
阅读模式
楼主
主题
1916
|
帖子
1916
|
积分
5748
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
今天咱们用鸿蒙 5 的 Ark-TS UI 做一个简单又有趣的计数器应用。点击按钮数字就会增长,而且界面还能自动更新。通过这个案例,你能轻松明白 Ark-TS UI 的核心玩法。
一、最终结果长什么样?
打开应用,你会看到一个大按钮,上面写着 “点击加 1”。每次点击按钮,按钮上方的数字就会变大。比如第一次点击变成 “1”,第二次变成 “2”,依此类推。整个过程不需要手动刷新页面,数字会自动变化。
二、完整代码长这样
typescript
@Entry
@Component
struct CounterApp {
// 用@State标记一个变量count,它的值变化时界面会自动更新
@State count: number = 0
build() {
// Column是一个垂直布局容器,里面的内容会从上到下排列
Column() {
// Text组件显示文字,这里显示当前的count值
Text(当前计数:${this.count})
.fontSize(24) // 设置字体巨细为24像素
.margin(20) // 给文本四周添加20像素的边距
// Button组件是一个按钮,点击时触发onClick事件
Button("点击加1")
.onClick(() => {
// 点击按钮时,count的值增加1
this.count++
})
.fontSize(18) // 按钮文字大小18像素
.padding(15) // 按钮内部的 padding 为15像素
.backgroundColor('#007DFF') // 按钮背景色为蓝色
.textColor('#FFFFFF') // 按钮文字颜色为白色
.cornerRadius(8) // 按钮圆角半径8像素
}
// 设置整个Column布局的宽度为屏幕宽度的100%
.width('100%')
// 设置整个布局的对齐方式为垂直和水平居中
.justifyContent(FlexAlign.Center)
.alignItems(HorizontalAlign.Center)
复制代码
}
}
三、逐行代码拆解,零基础也能看懂
@Entry 和 @Component
@Entry 表示这个组件是应用的入口,程序从这里开始运行。
@Component 标记这是一个可复用的组件,里面包罗界面和逻辑。
@State count: number = 0
@State 是 Ark-TS UI 的关键装饰器,它告诉系统:“这个变量count的值会影响界面,一旦它变化,界面要自动更新。”
这里初始化count为 0,也就是计数器的初始值。
build() 方法
这个方法定义了组件的界面结构。Ark-TS UI 通过声明式语法描述界面,就像 “绘图纸” 一样。
Column() 布局容器
Column是一个垂直布局容器,里面的组件会从上到下排列。就像一个竖着的盒子,把内容依次装进去。
Text 组件显示计数
Text(当前计数:
:
显
示
一
行
文
字
,
{this.count}会实时更换为count` 变量的值。
.fontSize(24):设置文字巨细为 24 像素。
.margin(20):给文本四周添加 20 像素的空缺,让界面看起来不拥挤。
Button 组件实现点击功能
Button("点击加1"):创建一个按钮,显示文字 “点击加 1”。
.onClick(() => { this.count++ }):点击按钮时,执行this.count++,也就是让count的值加 1。
.fontSize(18):按钮文字巨细 18 像素。
.padding(15):按钮内部的空缺区域为 15 像素,让文字看起来不贴着边沿。
.backgroundColor('#007DFF'):按钮背景色设置为蓝色。
.textColor('#FFFFFF'):按钮文字颜色设置为白色。
.cornerRadius(8):按钮四个角设置为圆角,半径 8 像素,让按钮看起来更圆润。
设置布局的团体样式
.width('100%'):让整个Column布局的宽度占满屏幕。
.justifyContent(FlexAlign.Center) 和 .alignItems(HorizontalAlign.Center):让布局内的内容在垂直和水平方向都居中显示,这样按钮和文本会在屏幕正中央。
四、核心原理:为什么界面会自动更新?
Ark-TS UI 的机密武器就是@State装饰器。当count的值变化时(比如点击按钮让count++),Ark-TS UI 会自动检测到这个变化,并重新渲染界面。你不需要手动操作界面元素,只需要关注数据逻辑,界面会 “自动听话”。
这种数据驱动界面的方式,让开辟变得更简单。你只需要关心 “数据怎么变”,而不用费心 “界面怎么改”,Ark-TS UI 会帮你处理好一切。
五、晒为总结以下总结:从案例学 Ark-TS UI 的精髓
通过这个计数器案例,我们学到了 Ark-TS UI 的三个核心能力:
声明式语法:用简洁的代码描述界面结构,就像绘图纸一样直观。
状态管理:@State让数据和界面自动联动,数据变,界面跟着变。
丰富的组件和样式:直接使用Text、Button等组件,通过链式调用快速设置样式,省去了复杂的 CSS 代码。
假如你想实验鸿蒙 5 开辟,Ark-TS UI 绝对是你入门的最佳选择。赶紧动手试试吧,下一个有趣的应用可能就出自你的代码!
本文由认元学横发布!转载请联系。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
吴旭华
论坛元老
这个人很懒什么都没写!
楼主热帖
【云原生】第二篇--容器管理工具 Docke ...
mamba-ssm安装building wheel卡着不动 ...
数据库系统课程设计(高校成绩管理数据 ...
《原CSharp》第二回 巧习得元素分类 子 ...
使用TrueNas(FreeNas)进行华为手机备 ...
JVM虚拟机性能监控与故障处理工具(3) ...
java中==和equals区别
Spark 总复习
【图论】—— 有向图的强连通分量 ...
Docker命令实战
标签云
渠道
国产数据库
集成商
AI
运维
CIO
存储
服务器
快速回复
返回顶部
返回列表