
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
MacBook盖上盖子后,侧边那个缓慢明暗交替的白色指示灯,大概是很多人对"呼吸灯"的第一印象。那个效果确实很妙——明明是一台休眠的机器,但那个柔和的灯光起伏,让你觉得它是"活着"的,只是在睡觉。这种"呼吸感"在UI设计中同样好用。HarmonyOS6 PC端的应用里,加载等待状态、设备连接指示、后台运行提示——这些场景都需要一种"我正在工作,但不会打扰你"的视觉反馈。呼吸灯动画就是为这些场景量身

50ms的步进时间意味着每帧之间的间隔是50ms,对应20fps的帧率。对于摇晃这种"快速抖动"效果来说,这个帧率是合适的。为什么不用更高帧率?因为摇晃动画的本质是在离散位置之间跳变,它不是平滑过渡——每一帧元素突然出现在一个新位置,模拟的就是物理振动中那种"快速来回"的感觉。如果帧率太高(比如60fps),反而会变成平滑的来回移动,失去"抖"的质感。如果你想要更柔和的摇晃效果,可以把步进时间改成

你有没有注意过,很多PC端应用里的"录音中"按钮会一直跳动?或者"正在连接"的图标会持续闪烁放大缩小?这种效果有个通用名字叫脉冲动画(Pulse Animation)。脉冲动画的核心目的就一个——吸引注意力。它告诉用户:“嘿,这里有东西在进行中,别忘了我。在HarmonyOS6 PC端开发中,脉冲动画的实现其实挺有意思的。它不像展开折叠或者Tab切换那样是一次性触发的,而是一个持续循环的过程。怎么

PC端应用的Tab页切换,说实话是个很容易被忽视的细节。很多开发者直接用系统自带的Tabs组件就完事了,切换效果就是"啪"地一下换了内容。能用吗?能。好看吗?真不好看。我前段时间在做一个HarmonyOS6 PC端的项目,里面有个四个Tab的主页面。一开始用了默认的Tab切换效果,自己看着都觉得生硬。后来花了点时间手动实现了一个"滑动+淡入淡出"的组合过渡,效果一下子就上来了。同事路过看了一眼说:

是ArkUI专门用来定义组件"出现"和"消失"时的动画效果的。当组件被if条件创建出来时,它会从 TransitionEffect 定义的"初始状态"过渡到"正常状态";当组件被销毁时,从"正常状态"过渡到 TransitionEffect 定义的"结束状态"。

用 HarmonyOS6 PC 开发做过列表页面的朋友应该都有这种感觉——一个列表如果所有项同时"砰"地弹出来,看着就很廉价。但如果让每一项从侧面滑入,彼此之间有个几十毫秒的延迟,形成一种"鱼贯而入"的效果,整个页面的质感立刻就上去了。这种交错入场动画(Staggered Animation)在 iOS 和 Android 上已经被用烂了,但在 HarmonyOS 生态里,很多人还不知道怎么做。今

搞 HarmonyOS6 PC 端开发的过程中,有一个动画需求几乎每个项目都会遇到,但文档里几乎找不到完整方案——。举个例子:页面上有 4 个卡片,要它们一个一个飞进来,而不是一窝蜂同时出现。这种效果在引导页、数据面板加载、成就展示等场景里特别常见。是个异步执行的函数,它不会等你动画做完再往下走代码。你连着写 4 个,它们会同时触发,根本不会排队。这篇文章就来聊怎么用setTimeout把动画串起

做 HarmonyOS6 PC 端开发的时候,动画这个东西真的是"一看就会,一做就废"。很多开发者(包括我自己)写动画的时候最常干的事情就是:duration 给个 300,curve 用个默认的,然后就不管了。直到有一天产品经理过来说"这个动画怎么这么生硬",才意识到——。今天咱们就把 HarmonyOS ArkUI 里的 Curve 枚举彻底搞明白。不搞虚的,直接上对比,让你看完就知道什么场景

装饰器数据流向绑定方式适用粒度持久化@State组件内部双向基本类型/对象否@Prop父→子单向基本类型/数组否@Link父↔子双向基本类型/对象否@Provide祖先→后代双向基本类型/对象否@Consume祖先→后代双向基本类型/对象否@Observed类否父→子双向(属性级)@Observed对象否AppStorage↔组件双向基本类型/对象是AppStorage→组件单向基本类型/对象是@

任务管理应用的第一步是定义数据模型。一个完整的任务包含这些信息:标题、描述、是否完成、优先级、截止日期、分类标签。我们用@Observed@Observedid: stringthis.category = '默认'@Observed的作用是给类加一层"代理"——框架会拦截所有属性的读写操作,从而在属性变化时通知 UI 更新。这是深层监听,不管你的对象嵌套了多少层,只要被@Observed标记了,








