CalendarYearPage 年视图:12 个月微型日历网格

发布时间:2026/9/19 18:46:40
CalendarYearPage 年视图:12 个月微型日历网格 前言“海风日记“的年视图页面展示了全年的日历概览使用 Grid 3 列布局展示 12 个月微型日历每个微型日历包含月份标题、星期行和日期网格。本文将从CalendarYearPage.ets源码出发深入讲解年视图的实现。一、年视图布局1.1 整体结构Scroll() { Grid() { ForEach(this.createIndexArray(12), (monthIndex: number) { GridItem() { this.miniCalendar(monthIndex) // 12 个微型日历 } }) } .columnsTemplate(1fr 1fr 1fr) // 3 列 .columnsGap(10).rowsGap(10) }1.2 微型日历构建器Builder miniCalendar(monthIndex: number) { Column({ space: 4 }) { // 月份标题 Text(this.months[monthIndex]) .fontSize(13).fontColor(COLOR_TEXT_MAIN).fontWeight(FontWeight.Bold) // 星期行 Row() { ForEach([日,一,二,三,四,五,六], (d: string) { Text(d).fontSize(8).fontColor(COLOR_TEXT_HINT) }) } // 日期网格 Grid() { // 空白偏移 ForEach(this.createIndexArray(new Date(monthIndex).getDay()), (i) { GridItem() { Column().width(100%).height(18) } }) // 日期 ForEach(this.createDayArray(new Date(monthIndex 1, 0).getDate()), (day) { GridItem() { Stack() { if (isToday) { Circle().width(18).height(18).fill(COLOR_PRIMARY) } Text(day.toString()).fontSize(9) } } }) } .columnsTemplate(1fr 1fr 1fr 1fr 1fr 1fr 1fr) } .padding(10).backgroundColor(COLOR_CARD_BG) .borderRadius(CARD_RADIUS) .shadow({ radius: 8, color: rgba(160,120,60,0.08), offsetY: 2 }) }二、微型日历的尺寸元素尺寸说明月份标题13vp加粗星期文字8vp极小字号日期数字9vp小字号行高18vp紧凑今日圆点18vp橙色三、年份导航Row({ space: 4 }) { Button() { SymbolGlyph($r(sys.symbol.chevron_left)).fontSize(16).fontColor([COLOR_AMBER]) } .onClick(() { this.curYear - 1 }) Button() { SymbolGlyph($r(sys.symbol.chevron_right)).fontSize(16).fontColor([COLOR_AMBER]) } .onClick(() { this.curYear 1 }) }四、常见问题4.1 微型日历显示不全问题微型日历中的日期数字显示不全。原因Grid 单元格太小无法容纳所有日期。解决方案减小字号9vp和行高18vp。总结本文通过“海风日记“的年视图深入讲解了微型日历网格的实现3 列 Grid12 个月按 3×4 排列微型日历 Builder月份标题 星期行 日期网格紧凑布局小字号、短线高年份导航左右箭头切换年份下一篇文章将深入讲解年统计与最长连续天数敬请期待。如果这篇文章对你有帮助欢迎点赞、收藏⭐、关注你的支持是我持续创作的动力相关资源Grid 组件文档Builder 装饰器文档Shadow 属性文档海风日记项目源码[HarmonyOS 开发者官网](https://atomgit.com/openharmony/docs开源鸿蒙跨平台社区

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询