登录社区云,与社区用户共同成长
邀请您加入社区
鸿蒙电脑窗口尺寸记忆 要先把版本边界、失败路径和验证方式讲清楚。写代码时把判断收口成可复用模块,页面只接收明确结果,这样更容易排查和维护。
App 17 首页解析完毕。沉浸式红色 HeroCard + 可点击周图 + 横向分类 + 标签+进度条项目卡是四大亮点,配合红色志愿服务调性。与 App 13 的"主题复刻"展示了一个重要方法论:同一套 UI 框架,换主题色 + 换文案 + 换数据 = 完全不同的产品。
维度App 13 歌单记录App 17 志愿记录主题色紫 #8B5CF6红 #EF4444Tab 状态全部/进行中/已完成全部/进行中/已完成统计14/3/2(彩)28/3/25(彩)记录5 条(项目一~五)5 条(项目一~五,完全同构状态操作详情+更多详情+更多进度条进行中显进行中显状态色warn/okwarn/ok(同款)App 17 与 App 13 几乎 100% 同构。
App 17 活动创建页解析完毕。与 App 13 的"模板换肤"关系一套 UI 框架 + 一套 Theme.ets 配色 = 任意主题的应用。"红色志愿"主题色让 6 个表单组件焕发公益热情——C.primary红色在按钮/选中态/进度条/链接文字上反复出现,让"志愿"主题深入骨髓。"表单校验"和"Toggle 持久化"是 demo 到产品的关键差距——读者在抄这个模板时记得补齐。
回顾系列 5 个"个人中心"(App 13/14/15/16/17),6 个 @Builder 块完全同源维度App 13App 14App 15App 16App 17主题色紫绿绿玫红红用户小明张运动李环保王积分小明等级Lv.4Lv.5Lv.6Lv.7Lv.4经验74%64%62%57%74%签到伪+10+5+20伪统计通用运动环保商城通用成就6 通用6 运动6 环保6 商城6 通用菜单5666
App 16「校园积分商城」首页(HomeTab),主题色#F43F5E玫瑰红,4 个 Tab 分别为首页(🛍️)、商品(🎁)、兑换(🔄)、我的(👤)。首页采用固定 Header + 玫瑰红渐变 HeroCard(限时抽奖 + 3 栏积分统计 + 搜索框)+ 快捷功能入口(实物/虚拟/秒杀/抽奖)+ 本周积分获取条形图 + 5 个热门商品卡片()+ 兑换排行榜。本篇基于(约 333 行)逐
App 16「校园积分商城」我的 Tab(ProfileTab),是个人中心页。整页用渐变用户卡片(王积分 + Lv.7 + 2860/5000 经验条 +本篇基于(约 312 行)逐段拆解,附 4 张实机截图。
App 16「校园积分商城」商品 Tab(Func1Tab),是——渐变兑换预览卡()+ 6 商品 3 列 Grid(单选高亮)+ 数量加减器(1-10)+ 地址单选(宿舍/教学楼/自取,含默认标识)+ 收件信息表单 + 确认兑换按钮(本篇基于(约 268 行)逐段拆解,附 4 张实机截图。
维度App 14 运动预约首页App 15 垃圾分类首页主题色绿 #16A34A绿 #22C55EHero 活动校运动会报名本月减碳种树快捷入口4 个运动(同色)4 个分类(四色)主列表场地(星级+进度+预约)指南(星级+掌握度+学习/测试)排行榜场地预约排行垃圾识别排行特色机制预约进度条四色编码 + 学习测试闭环同一套"内容流首页"模板,第三次复用(App 13 音乐/14 运动/15 环保),
维度App 14 预约App 15 分类App 16 兑换Tab待确认/已完成/已取消已分类/待处理/错误待发货/已发货/已完成特色模块无占比进度条消耗趋势图记录字段场地+时间分类+数量数量+积分+地址状态1操作取消/详情✓正确取消/改址状态2操作再次预约立即分类查看物流状态3操作无重新分类(红)再次兑换"记录列表模板"第 3 次复用(App 14/15/16),每次的差异化:App 15 加"占
SearchCard(渐变搜索 + 拍照/语音入口)+CategorySelector(四色分类 2 列 Grid)+PreviewCard(结果预览联动)+QuickTemplateRow(常见垃圾 3 列 Grid)+FormCard(备注 + 来源)+SubmitBtn(分类校验提交)核心可复用点doSearch()搜索模式(空输入拦截 → 遍历匹配 → 命中联动 → 未命中降级)名称→id
维度App 14 运动我的App 15 环保我的布局6 块同构6 块同构签到+10 积分+5 积分成就运动 6 徽章环保 6 徽章菜单6 项6 项(数字3/NEW)周图运动时长 7.5h分类次数 47 次About运动预约 v1.0.0垃圾分类 v1.0.0两页 95% 代码相同,差异只在数据一个"绿色个人中心"模板,换数据源即可生成任意主题的个人页。
App 15「智能垃圾分类」分类 Tab(Func2Tab),是分类历史记录页。整页用 Header + 4 个胶囊筛选 Tab(全部/已分类/待处理/错误分类)+ 3 栏统计概览 +(可回收 30% 蓝/厨余 48% 绿/有害 12% 红/其他 10% 灰)+ 6 条记录时间线(:待处理→立即分类、错误分类→重新分类、已分类→✓ 已正确分类)组成。本篇基于(约 248 行)逐段拆解,附 4 张实
11 校园快递(campus-express)第三个 Tab 是取件记录页,对应源码(共 208 行)。它是用户查看"我的快递都到哪了、该去哪取"的流水账,橙色主题#EA580C。本文逐行拆解三大模块,重点讲解"如何用一条竖线 + 圆形节点把一组离散记录串成时间轴",以及"状态分类标签如何驱动列表筛选"。取件页在三个内容 Tab 里最"重数据":它不像首页那样铺品牌、也不像寄件页那样收输入,而是把
固定 Header(品牌区:标题 + Slogan)Scroll(HeroCard(活动 Banner + 3 栏统计 + 搜索框)+QuickActionRow(4 个圆形入口)+WeeklyChart(趋势条形图 + 平均值)+SectionTitle('运动场地') + VenueList(5 个场地卡片)+SectionTitle('热门排行') + RankList(3 条排行)这套骨架
Scroll(UserCard(渐变 + 头像/姓名/Lv + 经验条 + 签到交互)+StatRow(4 栏统计 + 负边距悬浮)+AchievementWall(3 列 Grid 成就墙)+WeeklyChart(7 天条形图)+MenuList(6 项菜单 + 数字/NEW 角标)+AboutInfo(版本 + 技术栈 + 版权)核心可复用点可交互签到if (!防重复)3 列 Grid 成就
App 13「音乐歌单」首页(HomeTab),主题色#8B5CF6紫色,4 个 Tab 分别为首页(🎧)、歌曲(🎵)、歌单(📋)、我的(👤)。首页采用沉浸式渐变 HeroCard + 三栏数字统计 + 快捷功能入口 + 本周数据条形图(点击切换高亮)+ 横向分类筛选 + 推荐列表(带 HOT/NEW/精选标签和进度条)。本篇基于源码(约 194 行)逐段拆解,附 4 张实机截图。
App 13「音乐歌单」我的 Tab(ProfileTab),是个人中心页。整页用渐变用户卡片(Lv.4 等级 + 74% 经验条 + 签到/数据报告)+ 4 栏彩色统计 + 本周使用条形图(周六高亮)+ 6 徽章成就墙(4 解锁 2 未解锁)+ 5 项菜单(带 NEW 角标)+ About 信息组成,是 ArkUI "个人中心"页的完整范本。本篇基于(约 225 行)逐段拆解,附 4 张实机截图
把状态栏文字色设成深色#1C2333,而首页从上到下是"白 Header → 玫红 HeroCard → 白卡片流"的交替底色。状态栏文字位于 Header 白色区域上方(Header 的safeToppadding 把标题推到状态栏下方),深色文字在白色背景上清晰可见;HeroCard 的玫红渐变则因safeTop补偿而与状态栏文字互不重叠。这种"状态栏文字统一深色 + 顶部用白色 Header
12 ACG 社区(acg-community)第三个 Tab 是"作品",对应源码(共 207 行),页面标题「我的动态」。它是用户回溯自己在社区里一切行为的流水账,玫红主题#DB2777。本文逐行拆解三大模块,重点讲解""的多状态着色体系,以及"个人动态时间轴"与"物流时间轴"的本质差异。如果说首页是"看别人的内容",那"我的动态"就是"看自己的足迹"。与 11 号快递的"取件记录"相比,这一
首页数据量不小,作者把零散字段收敛成 6 个interface,这是 ArkTS 声明式开发中非常值得借鉴的做法。id: number;id: number;Express描述一条快递动态,字段覆盖了"谁发的、什么单号、什么公司、什么时间、什么状态、用户打几星、运输进度多少"——一个列表项要呈现的所有维度,一次性建模干净。StatItem用三件套概括了 HeroCard 里的三组统计,color字
模块间循环依赖可能导致应用运行时模块依赖的变量未初始化.......
以 840vp 窗口断点、手机沉浸页、大屏侧栏与双栏工作区为例,说明布局 Builder 可分形态,而 Service、状态与交互契约必须共享。
拆解字幕自动跟随的显式开关、触发条件、空态、回到最新与恢复跟随,并指出手势回看尚未自动暂停跟随的缺口。
/ 周数据定义{ day: '一', value: 45 },{ day: '二', value: 72 },{ day: '三', value: 38 },{ day: '四', value: 90 },{ day: '五', value: 55 },{ day: '六', value: 68 },{ day: '日', value: 42 }maxBar固定为 90(本周峰值),作为柱高归一化
10 水电缴费的账单页(Func2Tab.ets,208 行)是用户查看历史缴费记录的核心页面。本文聚焦三大模块。
/ 类型选项定义private types: string[] = ['电费', '水费', '燃气费'];类型用纯字符串数组承载,三种缴费类型覆盖校园生活主要场景。typeIdx记录当前选中索引,默认 0(电费)。// CustomInput — 自定义金额输入@BuilderText('自定义金额').fontSize(15).fontWeight(FontWeight.Bold).fontC
10 水电缴费个人中心页(ProfileTab.ets,289 行)展示用户画像、缴费统计、成就体系与活跃度。本文聚焦四大模块。
HeroCard 内联分隔线+ 1vp 宽半透明 Column 实现仪表盘式统计区可交互式柱状图驱动渐变/字色/字重三重联动,默认选中周五(idx 4)CategoryBar 横向 Scroll:选中态反色 + 自动隐藏滚动条可交互式柱状图最具学习价值——@State与视觉效果的深度绑定。
StatsCard 内联 Divider分隔统计列,数值按语义着色(primary/warn/ok)TabBar 下划线指示器:选中态 24×2 主色圆角条,未选中 transparent 占位防抖动RecordCard if 条件渲染:进行中显示进度条,已完成省略状态标签内联:白字 + statusColor 实底胶囊,颜色由数据字段驱动固定头部 + 独立滚动区:Header/StatsCard
受控输入模式:TextInput/TextArea 双向绑定 + onChange 回写字数统计实时显示标题长度优先级语义配色:绿/橙/红三级索引三元 + 选中白字实底/未选中灰字浅底提交防错:按钮文案/背景随 inputTitle 切换 + 点击二次校验 + 成功后清空表单这套模式可直接复用于任何表单场景。
渐变用户卡 + Stack 等级角标:linearGradient 直设外层 Column,BottomEnd 对齐角标负 Margin(-28) 重叠统计卡:白色卡片浮于渐变之上,四色数值语义化Row 六等分成就墙:opacity + 背景色双重区分解锁/锁定,filter 实时计数MenuList 内联渲染 + NEW 角标:badge 字段驱动角标显隐与配色分割线 margin 左缩进 +
组件技术亮点复杂度HeroCard内联分隔线统计 + 双色渐变⭐⭐⭐Emoji 图标 + 边框卡片⭐⭐可交互式渐变柱状图⭐⭐⭐⭐⭐水平 Scroll + 反色描边⭐⭐⭐ItemListStack 进度条 + 条件标签⭐⭐⭐⭐可交互式柱状图最具学习价值。
组件模式状态类型受控输入stringTypeCard图标四选一(单选)number三档胶囊(单选)numberToggle布尔开关booleanSubmitBtn动态文案+点击校验关键经验:①单选索引默认值即初始选中态(如 selectedPriority=1 默认“中”)②语义化配色让档位轻重一目了然 ③提交按钮动态文案引导、onClick 内校验兜底 ④成功后清空表单状态复位。
组件技术亮点复杂度UserCard整卡渐变 + 徽章Stack对齐 + 经验进度条⭐⭐⭐⭐⭐StatRow四维统计 + 负Margin(-28) + 竖分隔线⭐⭐⭐⭐周六高亮渐变柱状图⭐⭐⭐Row等分六列 + opacity锁定 + filter动态进度⭐⭐⭐⭐MenuListbadge角标 + Divider缩进 + clip防溢出⭐⭐⭐⭐整卡渐变 + 徽章 Stack 对齐和负Margin重叠
组件技术亮点复杂度StatsCard语义化三色统计 + 竖分隔线⭐⭐TabBartransparent 占位指示器 + layoutWeight 等分⭐⭐⭐RecordCardif 条件渲染 + statusColor 数据驱动⭐⭐⭐⭐Stack 进度条双层覆盖⭐⭐⭐条件渲染 + 数据驱动配色是核心学习点:状态颜色存进数据字段(statusColor),渲染层零分支;结构差异(进度条有无)交给 i
组件技术要点复杂度HeroCard两段式渐变 + TextInput 内嵌搜索栏⭐⭐⭐WeekChart纯 ArkUI 柱状图(无第三方库)⭐⭐⭐⭐ChipRowScroll 横向滚动标签 + 浅绿选中态⭐⭐⭐ShopList9 字段信息 + 双 Progress 进度条 + 双按钮⭐⭐⭐⭐RankCard前三名奖牌配色 + 内联 Progress 进度条⭐⭐⭐纯代码柱状图和多维度商家卡片。
State activeTab: number = 0 // 0=全部, 1=进行中, 2=已完成private tabs: string[] = ['全部', '进行中', '已完成'];{ value: '28', label: '总数', color: C.primary },{ value: '3', label: '进行中', color: C.warn },{ value: '25',
组件技术要点复杂度UserCard通栏渐变 + Stack头像Lv角标 + 白色经验条 + 玻璃拟态按钮⭐⭐⭐⭐⭐StatRow四维彩色统计 + 竖向Divider + 负Margin浮动⭐⭐⭐⭐纯ArkUI柱状图 + Math.max保底高度 + 周六高亮⭐⭐⭐徽章网格 + opacity锁定态 + 动态进度计算⭐⭐⭐⭐MenuList三段式菜单 + 条件Divider + badge角标⭐⭐⭐
ArkUI
——ArkUI
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net