분류, 패키지 및 저장소 검색

time_planner 표지
패키지 상세v0.1.2+1

time_planner

Flutter 모바일, 데스크톱 및 웹용으로 아름답고 사용하기 쉬우며 사용자 정의 가능한 시간 계획 도구

AndroidiOSWebmacOSWindowsLinux
30일 다운로드
48
좋아요
161
Pub 점수
160

패키지 설치

flutter pub add time_planner

패키지 개요

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

TimePlanner은 모바일, 데스크톱 및 웹 플랫폼에서 Flutter 애플리케이션을 위한 시각적으로 매력적이고 직관적이며 매우 사용자 정의 가능한 시간 관리 도구입니다. 사용자가 스케줄을 정리하고 예약을 설정하며 시간 블록을 쉽게 시각화할 수 있도록 합니다. 유연성을 고려하여 설계되었으며, 사용자 지정 테마, 이벤트 처리 및 반응형 레이아웃을 지원합니다. 생산성 앱, 캘린더 또는 작업 관리 도구에 이상적이며 기존의 Flutter 프로젝트에 원활하게 통합됩니다. 패키지는 적극적으로 유지 관리되고 오픈소스이며 커뮤니티 기여를 장려합니다.

사용 사례

  • 일일 스케줄 관리
  • 작업 및 약속 계획
  • 다중 플랫폼 캘린더 통합
  • 개인 생산성 앱
  • 팀 스케줄링 도구

주요 기능

  • 사용자 정의 가능한 UI 및 테마
  • 모든 플랫폼용 반응형 디자인
  • 이벤트 생성 및 관리
  • 드래그 앤 드롭 기능
  • 다중 시간대 지원
  • 오픈소스이며 커뮤니티 주도

적합한 대상

  • 캘린더 앱을 개발하는 개발자
  • 생산성 중심의 Flutter 프로젝트
  • 시각적 시간 관리가 필요한 앱
  • 크로스 플랫폼 애플리케이션 개발자
  • 유연한 UI 컴포넌트를 원하는 디자이너

고려 사항

  • Flutter 상태 관리에 대한 기본 지식이 필요합니다
  • 복잡한 사용 사례를 위해 추가적인 스타일링이 필요할 수 있습니다
  • 플랫폼 전용 렌더링 동작에 의존
  • 기본 설정 외에 문서가 제한적
  • 고주파 실시간 업데이트에 최적화되지 않음

원본 README

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

Time planner

Pub Version Awesome Flutter

A beautiful, easy to use and customizable time planner for flutter mobile 📱, desktop 🖥 and web 🌐

This is a widget for show tasks to user on a time table.
Each row show an hour and each column show a day but you can change the title of column and show any things else you want.

Screenshots

Mobile Dark
Mobile Dark
Desktop Web
Desktop Web

Demo

You can see web demo here: https://jamalianpour.github.io/time_planner_demo

Usage

1. add dependencies into you project pubspec.yaml file
dependencies:
  time_planner: ^0.1.2+1
2. import time planner lib
import 'package:time_planner/time_planner.dart';
3. use time planner
List<TimePlannerTask> tasks = [
  TimePlannerTask(
    // background color for task
    color: Colors.purple,
    // day: Index of header, hour: Task will be begin at this hour
    // minutes: Task will be begin at this minutes
    dateTime: TimePlannerDateTime(day: 0, hour: 14, minutes: 30),
    // Minutes duration of task
    minutesDuration: 90,
    // Days duration of task (use for multi days task)
    daysDuration: 1,
    onTap: () {},
    child: Text(
      'this is a task',
      style: TextStyle(color: Colors.grey[350], fontSize: 12),
    ),
  ),
];
TimePlanner(
  // time will be start at this hour on table
  startHour: 6,
  // time will be end at this hour on table
  endHour: 23,
  // each header is a column and a day
  headers: [
    TimePlannerTitle(
      date: "3/10/2021",
      title: "sunday",
    ),
    TimePlannerTitle(
      date: "3/11/2021",
      title: "monday",
    ),
    TimePlannerTitle(
      date: "3/12/2021",
      title: "tuesday",
    ),
  ],
  // List of task will be show on the time planner
  tasks: tasks,
),
Multi days task

You can add multi days task with daysDuration minimum and default value for this argument is 1 and result look like this :

MultiDay

Style

you can change style of time planner with TimePlannerStyle :

style: TimePlannerStyle(
  backgroundColor: Colors.blueGrey[900],
  // default value for height is 80
  cellHeight: 60,
  // default value for width is 90
  cellWidth: 60,
  dividerColor: Colors.white,
  showScrollBar: true,
  horizontalTaskPadding: 5,
  borderRadius: const BorderRadius.all(Radius.circular(8)),
),

when time planner widget loaded it will be scroll to current local hour and this option is true by default, you can turn this off like this:

currentTimeAnimation: false,
Note

If you use desktop or web platform and want users to be able to move with the mouse in the time planner, add this code to the code:

class MyCustomScrollBehavior extends MaterialScrollBehavior {
  // Override behavior methods and getters like dragDevices
  @override
  Set<PointerDeviceKind> get dragDevices => {
    PointerDeviceKind.touch,
    PointerDeviceKind.mouse,
  };
}

// Set ScrollBehavior for an entire application.
MaterialApp(
  scrollBehavior: MyCustomScrollBehavior(),
  // ...
);

Fill free to fork this repository and send pull request 🏁👍

Medium post

카테고리

소스 저장소

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

아직 데이터가 없습니다.