패키지, 저장소 및 앱 카테고리 검색

flutter_annual_task 표지
패키지 상세v0.2.0

flutter_annual_task

GitHub 기여(깃허브 캘린더)처럼 매일 작업의 그리드 뷰를 표시하는 플러터 패키지.

30일 다운로드
63
좋아요
45
Pub 점수
60

패키지 설치

flutter pub add flutter_annual_task

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

GitHub의 기여 달력과 유사한 일일 작업의 그리드 뷰를 표시하는 플러터 패키지입니다. 색상 코드화된 그리드로 시간에 따라 작업 완료 상황을 시각화하여 습관, 생산성 또는 프로젝트 마일스톤 추적에 이상적입니다. 경량이며 사용자 정의가 가능하며 다양한 테마와 스타일링 옵션을 지원합니다. 단순함과 명확성을 위해 설계되어 개인 개발, 목표 추적, 데이터 시각화에 중점을 둔 앱에 원활하게 통합됩니다.

사용 사례

  • 일상 습관 추적
  • 시간에 따른 생산성 시각화
  • 프로젝트 진행 상황 모니터링
  • 사용자 활동 표시
  • 성취 대시보드 만들기

주요 기능

  • GitHub 스타일 기여 그리드
  • 사용자 지정 가능한 색상 및 테마
  • Flutter와의 간단한 통합
  • 반응형 그리드 레이아웃
  • 날짜 기반 작업 데이터를 지원합니다

적합한 대상

  • 생산성 앱
  • 습관 트래커
  • 개인 개발 도구
  • 목표 설정 애플리케이션
  • 건강 또는 피트니스 앱에서의 데이터 시각화

고려 사항

  • 일일 작업 시각화에 제한됨
  • 내장된 데이터 지속성 없음
  • 수동 작업 데이터 관리가 필요합니다
  • 대규모 데이터 세트에 최적화되지 않음
  • 툴팁이나 클릭 이벤트와 같은 상호작용 기능 없음

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

flutter_annual_task

flutter_annual_task

Flutter package for displaying grid view of daily task like Github-Contributions.

Example example

Usage

Make sure to check out example project.

AnnualTaskView(
  taskItem	// List<AnnualTaskItem>
),

Installation

Add to pubspec.yaml:

dependencies:
  flutter_annual_task: ^0.1.3

Then import it to your project:

import 'package:flutter_annual_task/flutter_annual_task.dart';

And finally add AnnualTaskView widget in your project.

AnnualTaskView(
  taskItem	// List<AnnualTaskItem>
),

AnnualTaskItem

AnnualTaskItem

class AnnualTaskItem {
  final DateTime date;
  final double proceeding;	// 0.0 ~ 1.0

  AnnualTaskItem(this.date, [this.proceeding = 1.0]);
  ...
}

The value of proceeding affects the opacity on the each cell of daily task.
- For showing the color in visual, the minimum value of displaying is 80(max: 255).

AnnualTaskColorItem

If you want to specify color for each daily task, you can use AnnualTaskColorItem.

class AnnualTaskColorItem extends AnnualTaskItem {
  final Color color;

  AnnualTaskColorItem(
    DateTime date, {
    double proceeding = 1.0,
    this.color,
  }) : super(date, proceeding);
  ...
}

You should generate list of AnnualTaskItem(List<AnnualTaskItem>) to use this package.
Below is an example for building list of AnnualTaskItem.

//AnnualTaskItem
<your_item_list>.map(
  (item) => AnnualTaskItem(
    item.date,
    0.5,
  ),
)
.toList();

//AnnualTaskColorItem
<your_item_list>.map(
  (item) => AnnualTaskColorItem(
    item.date,
    color: <color_for_each_item>
  ),
)
.toList();

Examples

Cell Shape

Specify cellShape with AnnualTaskCellShape with AnnualTaskCellShape.ROUNDED_SQUARE(default), AnnualTaskCellShape.SQUARE or AnnualTaskCellShape.CIRCLE.

Square

Image
square
AnnualTaskView(
  taskItem, // List<AnnualTaskItem>
  cellShape: AnnualTaskCellShape.SQUARE,
)

Circle

Image
circle
AnnualTaskView(
  taskItem, // List<AnnualTaskItem>
  cellShape: AnnualTaskCellShape.CIRCLE,
)

AnnualTaskColorItem

Image
circle
AnnualTaskView(
  taskItemWithColor, // List<AnnualTaskColorItem>
)
Labels

You can edit the labels of week or the labels of month.

AnnualTaskView(
  taskItem, // List<AnnualTaskItem>
  showMonthLabel: false, //default : true
  showWeekDayLabel: false, //default : true
)
Image
without labels

Custom label

Image
custom labels
AnnualTaskView(
  taskItem, // List<AnnualTaskItem>
  weekDayLabels: ['', 'Mon', '', 'Wed', '', 'Fri', ''],
  monthLabels: ['1','2','3','4','5','6','7','8','9','10','11','12'],
)

The type of weekDayLabels and monthLabels is List<String>.

  • weekDayLabels starts from Sunday.
  • default value of `weekDayLabels' is ['S', 'M', 'T', 'W', 'T', 'F', 'S'].
  • default value of monthLabels' is ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']`.
  • You can also hide the label of each items with empty String(''). But, weekDayLabels should be length of 7 and, monthLabels should be length of 12.

Styled label

Image
Styled label
AnnualTaskView(
  taskItem, // List<AnnualTaskItem>
  labelStyle: TextStyle(
    color: Colors.blueGrey,
    fontSize: 10,
    fontWeight: FontWeight.bold,
  ),	// default label style : TextStyle(fontSize: 8)
)

Props

props type desc
items List<AnnualTaskItem> List of AnnualTaskItem
year int default : DateTime.now().year
activateColor Color default : Theme.of(context).primaryColor
emptyColor Color Color of cell with proceeding 0.0 or the day which items doesn't contain.
default : Color(0xFFD0D0D0)
showWeekDayLabel bool Show the labels of week, if true.
default : true
cellShape AnnualTaskCellShape Shape of cell. One of AnnualTaskCellShape.ROUNDED_SQUARE, AnnualTaskCellShape.SQUARE or AnnualTaskCellShape.CIRCLE.
default: AnnualTaskCellShape.ROUNDED_SQUARE
showMonthLabel bool Show the labels of month, if true.
default : true
monthLabels List<String> Labels of month.
default: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
weekDayLabels List<String> Labels of week.
default: ['S', 'M', 'T', 'W', 'T', 'F', 'S']
labelStyle TextStyle TextStyle of labels.
default: TextStyle(fontSize: 8)

카테고리

소스 저장소

이 패키지를 사용하는 프로젝트

아직 데이터가 없습니다.