月统计面板:日记数 + 连续天数 + 主要心情

前言

在"海风日记"的日历页底部,月统计面板展示了本月日记数、连续天数和主要心情三项数据,为用户提供了直观的写作统计。

本文将从源码出发,深入讲解统计面板的实现。


一、月统计面板实现

1.1 源码

typescript 复制代码
Row({ space: 16 }) {
  Column({ space: 4 }) {
    Text(MOCK_DIARIES.length.toString())
      .fontSize(22).fontColor(COLOR_PRIMARY).fontWeight(FontWeight.Bold)
    Text('本月日记').fontSize(11).fontColor(COLOR_TEXT_SECONDARY)
  }.layoutWeight(1).alignItems(HorizontalAlign.Center)

  Divider().vertical(true).height(30).color(COLOR_DIVIDER)

  Column({ space: 4 }) {
    Text('7').fontSize(22).fontColor(COLOR_AMBER).fontWeight(FontWeight.Bold)
    Text('连续天数').fontSize(11).fontColor(COLOR_TEXT_SECONDARY)
  }.layoutWeight(1).alignItems(HorizontalAlign.Center)

  Divider().vertical(true).height(30).color(COLOR_DIVIDER)

  Column({ space: 4 }) {
    Text('😊').fontSize(22)
    Text('主要心情').fontSize(11).fontColor(COLOR_TEXT_SECONDARY)
  }.layoutWeight(1).alignItems(HorizontalAlign.Center)
}

1.2 布局分析

复制代码
┌──────────────┬──────────────┬──────────────┐
│  20          │   7          │   😊         │
│  本月日记    │  连续天数    │  主要心情    │
└──────────────┴──────────────┴──────────────┘

二、年视图的统计面板

typescript 复制代码
Row({ space: 0 }) {
  Column({ space: 4 }) {
    Text(MOCK_DIARIES.length.toString())
      .fontSize(24).fontColor(COLOR_PRIMARY).fontWeight(FontWeight.Bold)
    Text('今年日记').fontSize(11).fontColor(COLOR_TEXT_SECONDARY)
  }.layoutWeight(1).alignItems(HorizontalAlign.Center)

  Column({ space: 4 }) {
    Text('7').fontSize(24).fontColor(COLOR_AMBER).fontWeight(FontWeight.Bold)
    Text('最长连续').fontSize(11).fontColor(COLOR_TEXT_SECONDARY)
  }.layoutWeight(1).alignItems(HorizontalAlign.Center)

  Column({ space: 4 }) {
    Text('😊').fontSize(24)
    Text('最常心情').fontSize(11).fontColor(COLOR_TEXT_SECONDARY)
  }.layoutWeight(1).alignItems(HorizontalAlign.Center)
}

三、垂直 Divider 使用

typescript 复制代码
Divider().vertical(true).height(30).color(COLOR_DIVIDER)

vertical(true) 将 Divider 从水平分隔线变为垂直分隔线。


四、常见问题

4.1 统计数字不更新

问题:添加日记后,统计数字没有变化。

原因:统计数字是静态 Mock 数据。

解决方案 :使用 @State 变量,数据变化时自动更新。


总结

本文通过"海风日记"的月统计面板,深入讲解了统计数据的展示:

  1. 三项数据:日记数、连续天数、主要心情
  2. 垂直 Divider:分隔统计项
  3. 年视图统计:今年日记、最长连续、最常心情

下一篇文章将深入讲解 CalendarYearPage 年视图,敬请期待。

如果这篇文章对你有帮助,欢迎点赞👍、收藏⭐、关注🔔,你的支持是我持续创作的动力!


相关资源:

相关推荐
独泪了无痕7 小时前
Spring Data Redis 快速上手
spring boot·redis·后端
m0_6399069410 小时前
Linux 操作系统入门:目录结构、服务排查常用命令、Shell 脚本基础
linux·运维·后端
holly就是我11 小时前
AI 编程助手为什么跑偏?用开源 ccglass 看清 Prompt、工具调用和 Token 消耗
人工智能·后端
鸿蒙开发11 小时前
共享 Schema 与 SchemaFactory
前端·后端·harmonyos
用户7884773163411 小时前
小程序后端三选一:云开发、.NET WebAPI、Node,我按客户现状分了三种答案
后端
aiopencode11 小时前
局域网设备抓包怎么做?用 TraceEagle 抓电视、游戏机和 IoT 流量
后端·ios
智驭未来掌门人11 小时前
CLion 开发 Qt 项目的优势
后端
EnCi Zheng11 小时前
后端怎么把AI接口稳定安全低成本接进业务:超时重试、密钥隔离与成本熔断清单
人工智能·后端·安全·架构·api
Bazingga12 小时前
从一家酒店讲懂Docker
后端
南归北隐12 小时前
Spring AI Alibaba Graph框架实现MCP数据库查询实战
java·后端·spring ai·mcp·spring ai mcp