我在鸿蒙【生态市场】发布的活跃预览组件上架了

Activity Overview Component

https://developer.huawei.com/consumer/cn/market/prod-detail/28529adcf9b743128c8a3b7baa89ec7d/ad5e4b6a3925429b8dad78363063436a

简介

activity_overview 是一个类似于 GitHub 贡献图(Contribution Graph)的动态预览组件。它能够以热力图的形式直观展示用户在一段时间内的活动频率或贡献情况。

功能特性

  • 动态数据展示:支持传入日期和贡献数量的数据数组。
  • 完全自定义样式
    • 支持自定义色块颜色等级(colors)。
    • 支持自定义贡献数阈值(thresholds)。
    • 支持设置色块尺寸(blockSize)和间距(blockSpace)。
  • 时间范围控制 :支持设置显示过去多少周的数据(weeks)。
  • 交互支持:支持点击色块触发回调函数,返回日期和贡献数。

快速开始

安装组件

bash 复制代码
ohpm install @ohmos/activity_overview

引入组件

typescript 复制代码
import { ActivityCalendar, ContributionItem } from '@ohmos/activity_overview';

基础用法

typescript 复制代码
@Entry
@Component
struct MyComponent {
  @State contributions: ContributionItem[] = [
    { date: '2023-10-01', count: 5 },
    { date: '2023-10-02', count: 12 },
    // ... 更多数据
  ];

  build() {
    Column() {
      ActivityCalendar({
        contributions: this.contributions,
        weeks: 52, // 显示过去52周
        onBlockClick: (date, count) => {
          console.info(`Clicked: ${date}, Count: ${count}`);
        }
      })
    }
  }
}

API 参考

ActivityCalendar 组件属性

属性名 类型 默认值 说明
contributions ContributionItem[] [] 贡献数据列表,包含日期和数量。
weeks number 52 显示的周数,从当前日期向前推算。
blockSize number 10 每个色块的宽度和高度(单位:vp)。
blockSpace number 2 色块之间的间距(单位:vp)。
colors string[] ['#ebedf0', '#9be9a8', '#40c463', '#30a14e', '#216e39'] 颜色数组。第一个颜色为背景色(0贡献),后续颜色对应不同等级。
thresholds number[] [1, 3, 6, 10] 阈值数组。用于决定贡献数对应哪个颜色等级。
onBlockClick (date: string, count: number) => void - 点击色块时的回调函数。

ContributionItem 接口

typescript 复制代码
interface ContributionItem {
  date: string; // 日期格式 'YYYY-MM-DD'
  count: number; // 贡献数量
}

联系方式

如有问题或建议,请联系维护团队。

相关推荐
是稻香啊11 小时前
HarmonyOS6 ArkUI 无障碍悬停事件(onAccessibilityHover)全面解析与实战演示
华为·harmonyos·harmonyos6
前端不太难12 小时前
从小项目到大型鸿蒙 App 的架构变化
架构·状态模式·harmonyos
aqi0012 小时前
【送书活动】《鸿蒙HarmonyOS 6:应用开发从零基础到App上线》迎新送书啦
android·华为·harmonyos·鸿蒙
Oyster3828914 小时前
告别“盲调”与“重编”!我写了一个鸿蒙 ArkUI 纯端侧的可视化调试神器,正式开源!
harmonyos·arkui
盐焗西兰花14 小时前
鸿蒙学习实战之路-Share Kit系列(7/17)-自定义分享面板操作区
linux·学习·harmonyos
xym16 小时前
Taskpool简单使用2
harmonyos
不爱吃糖的程序媛17 小时前
鸿蒙 Flutter 多引擎场景开发指导
flutter·华为·harmonyos
小雨青年18 小时前
鸿蒙 HarmonyOS 6 | 多媒体(05)全局播控 AVSession 接入与后台控制
华为·harmonyos
Keya18 小时前
鸿蒙平台实现高斯模糊的渐变色
harmonyos
大雷神19 小时前
HarmonyOS APP<玩转React>开源教程四:状态管理基础
react.js·开源·harmonyos