登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
1
2
/ 2 页
下一页
返回列表
首页
›
资源区
›
代码
›
手把手教你用 Ark-TS UI 做一个会 “动” 的计数器 ...
手把手教你用 Ark-TS UI 做一个会 “动” 的计数器
[ 复制链接 ]
辈霖利
2025-6-9 10:27:40
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
今天咱们用鸿蒙 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 绝对是你入门的最佳选择。赶紧动手试试吧,下一个有趣的应用可能就出自你的代码!
本文由认元学横发布!转载请联系。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
手把手
你用
Ark
TS
UI
相关帖子
手把手教你用 Python 批量拼接图片(无需ps,适用快速修改拼接)
手把手教你用 Python 批量拼接图片(无需ps,适用快速修改拼接)附已打包好软件链接
奶奶都能看懂的 C# —— 手把手 LINQ
探索基于树的UI框架的统一模型
基于 Vue3 + TS + Ant Design Vue 实现精细化菜单按钮权限授权组件
Avalonia UI 12.0.0-RC1正式发布
“你用AI,那我也会用AI,我还要你干什么?”
从车载HMI到数字座舱平台:基于Qt与Qtitan UI组件的汽车嵌入式软件界面开发方案
Agent-Sandbox UI 上线,来看看有哪些的功能是你经常使用的?
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
手把手教你用 Python 批量拼接图片(无需ps,适用快速修改拼接)
1
460
格恳绌
2026-03-07
业界
手把手教你用 Python 批量拼接图片(无需ps,适用快速修改拼接)附已打包好软件链接
0
32
鄂缮输
2026-03-12
业界
奶奶都能看懂的 C# —— 手把手 LINQ
0
12
粹脍誊
2026-03-13
安全
探索基于树的UI框架的统一模型
0
36
敞撬
2026-03-13
业界
基于 Vue3 + TS + Ant Design Vue 实现精细化菜单按钮权限授权组件
0
985
全愉婉
2026-03-22
业界
Avalonia UI 12.0.0-RC1正式发布
0
839
柏雅云
2026-03-22
业界
“你用AI,那我也会用AI,我还要你干什么?”
0
832
唯棉坜
2026-03-22
业界
从车载HMI到数字座舱平台:基于Qt与Qtitan UI组件的汽车嵌入式软件界面开发方案
0
224
单于易槐
2026-03-23
业界
Agent-Sandbox UI 上线,来看看有哪些的功能是你经常使用的?
0
77
赐度虻
2026-03-25
回复
(38)
处匈跑
2025-10-17 18:14:10
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
收藏一下 不知道什么时候能用到
佴莘莘
2025-10-20 18:28:42
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢分享,学习下。
幌斛者
2025-10-29 16:35:50
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
不错,里面软件多更新就更好了
饨篦
2025-10-30 08:20:22
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢分享,学习下。
万妙音
2025-11-25 12:57:54
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
yyds。多谢分享
眺愤
2025-12-19 09:53:28
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
很好很强大 我过来先占个楼 待编辑
恿深疏
2026-1-1 05:10:57
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
东西不错很实用谢谢分享
钦遭聘
2026-1-7 07:30:45
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
感谢分享,下载保存了,貌似很强大
采序
2026-1-18 03:12:38
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
不错,里面软件多更新就更好了
孓访懔
2026-1-18 22:08:57
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢发布原创作品,程序园因你更精彩
万妙音
2026-1-20 09:21:46
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
过来提前占个楼
蓝娅萍
2026-1-21 22:37:20
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
过来提前占个楼
全愉婉
2026-1-22 10:43:49
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
鼓励转贴优秀软件安全工具和文档!
吮槌圯
2026-1-23 09:47:54
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
感谢,下载保存了
支智敏
2026-1-24 02:02:33
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
懂技术并乐意极积无私分享的人越来越少。珍惜
后仲舒
2026-1-28 02:56:40
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢楼主提供!
襁壮鸢
2026-2-2 04:10:05
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
喜欢鼓捣这些软件,现在用得少,谢谢分享!
咪四
2026-2-4 06:39:14
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
喜欢鼓捣这些软件,现在用得少,谢谢分享!
瞿佳悦
2026-2-5 05:13:31
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢分享,下载保存了,貌似很强大
下一页 »
1
2
/ 2 页
下一页
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
安全
程序
业界
科技
签约作者
程序园优秀签约作者
发帖
辈霖利
2026-2-5 05:13:31
关注
0
粉丝关注
25
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991125
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
神泱
9522
6
韶又彤
9916
7
宋子
9878
8
荪俗
9018
9
闰咄阅
9995
10
蓬森莉
9870
查看更多
今日好文热榜
398
图片防御与lvlm攻击论文阅读笔记
622
图片防御与lvlm攻击论文阅读笔记
117
二分查找力扣题(leetcode)
77
3分钟部署本地大模型,零成本实现 Token 自
195
Electron41+Vite8.0+DeepSeek桌面端AI助手|
674
OPUS编解码器在audio DSP上的移植和应用
470
SpringCloud进阶--Seata与分布式事务
987
大模型私有化部署指南:从“一键安装”到“
624
大模型私有化部署指南:从“一键安装”到“
886
SpringCloud进阶--Seata与分布式事务
171
SpringCloud进阶--Seata与分布式事务
786
Oracle SQL经典练习50题 | 附答案
206
gitru:一个由 Rust 打造的零依赖 Git 提交
929
gitru:一个由 Rust 打造的零依赖 Git 提交
266
gitru:一个由 Rust 打造的零依赖 Git 提交
855
gitru:一个由 Rust 打造的零依赖 Git 提交
426
gitru:一个由 Rust 打造的零依赖 Git 提交
694
ESP32S3 USB MSC 调试全过程记录
640
瑞芯微工业级芯加持,正点原子RK3562J开发
56
gitru:一个由 Rust 打造的零依赖 Git 提交