MenstrualCyclePhaseView constructor
const
MenstrualCyclePhaseView({
- Key? key,
- int totalCycleDays = defaultCycleLength,
- required double size,
- int selectedDay = 0,
- Function? onDayClick,
- String? menstruationName,
- int menstruationDayCount = defaultPeriodDuration,
- Color menstruationColor = defaultMenstruationColor,
- Color menstruationBackgroundColor = defaultMenstruationColorBg,
- Color menstruationDayTextColor = Colors.white,
- Color menstruationTextColor = defaultMenstruationColor,
- String? follicularPhaseName,
- int follicularDayCount = defaultFollicularDay,
- Color follicularPhaseDayTextColor = Colors.white,
- Color follicularPhaseColor = defaultFollicularColor,
- Color follicularBackgroundColor = defaultFollicularColorBg,
- Color follicularTextColor = defaultFollicularColor,
- String? ovulationName,
- int ovulationDayCount = defaultOvulationDay,
- Color ovulationDayTextColor = Colors.white,
- Color ovulationColor = defaultOvulationColor,
- Color ovulationBackgroundColor = defaultOvulationColorBg,
- Color ovulationTextColor = defaultOvulationColor,
- String? lutealPhaseName,
- Color lutealPhaseColor = defaultLutealPhaseColor,
- Color lutealPhaseBackgroundColor = defaultLutealPhaseColorBg,
- Color lutealPhaseTextColor = defaultBlackColor,
- Color lutealPhaseDayTextColor = defaultBlackColor,
- String imageAssets = "",
- double imgSize = 30,
- Color centralCircleBackgroundColor = defaultCentralCircleBackgroundColor,
- double centralCircleSize = 25,
- String? dayTitle,
- double dayTitleFontSize = 5,
- double dayFontSize = 12,
- double selectedDayCircleSize = 1,
- Color dayTextColor = defaultBlackColor,
- Color selectedDayBackgroundColor = Colors.white,
- double selectedDayFontSize = 12,
- Color selectedDayTextColor = defaultBlackColor,
- Color selectedDayCircleBorderColor = Colors.transparent,
- double phasesTextSize = 8,
- bool isShowDayTitle = true,
- FontWeight dayFontWeight = FontWeight.normal,
- MenstrualCycleTheme theme = MenstrualCycleTheme.arcs,
- double circleDaySize = 13,
- PhaseTextBoundaries phaseTextBoundaries = PhaseTextBoundaries.outside,
- double arcStrokeWidth = 30,
- double outsidePhasesTextSize = 12,
- int outsideTextCharSpace = 3,
- int outsideTextSpaceFromArc = 30,
- Color centralCircleBorderColor = Colors.transparent,
- int centralCircleBorderSize = 1,
- bool isRemoveBackgroundPhaseColor = true,
- MenstrualCycleViewType viewType = MenstrualCycleViewType.text,
- String title = "",
- Color titleTextColor = Colors.black,
- double titleTextSize = 20,
- FontWeight titleFontWeight = FontWeight.bold,
- String message = "",
- String message2 = "",
- Color messageTextColor = Colors.black45,
- double messageTextSize = 10,
- FontWeight messageFontWeight = FontWeight.normal,
- int spaceBtnTitleMessage = 5,
- bool isAutoSetData = false,
Implementation
const MenstrualCyclePhaseView(
{super.key,
this.totalCycleDays = defaultCycleLength,
required this.size,
this.selectedDay = 0,
this.onDayClick,
// Menstruation Params
this.menstruationName,
this.menstruationDayCount = defaultPeriodDuration,
this.menstruationColor = defaultMenstruationColor,
this.menstruationBackgroundColor = defaultMenstruationColorBg,
this.menstruationDayTextColor = Colors.white,
this.menstruationTextColor = defaultMenstruationColor,
// Follicular Phase Params
this.follicularPhaseName,
this.follicularDayCount = defaultFollicularDay,
this.follicularPhaseDayTextColor = Colors.white,
this.follicularPhaseColor = defaultFollicularColor,
this.follicularBackgroundColor = defaultFollicularColorBg,
this.follicularTextColor = defaultFollicularColor,
// ovulation Phase Params
this.ovulationName,
this.ovulationDayCount = defaultOvulationDay,
this.ovulationDayTextColor = Colors.white,
this.ovulationColor = defaultOvulationColor,
this.ovulationBackgroundColor = defaultOvulationColorBg,
this.ovulationTextColor = defaultOvulationColor,
// luteal Phase Params
this.lutealPhaseName,
this.lutealPhaseColor = defaultLutealPhaseColor,
this.lutealPhaseBackgroundColor = defaultLutealPhaseColorBg,
this.lutealPhaseTextColor = defaultBlackColor,
this.lutealPhaseDayTextColor = defaultBlackColor,
// Central Circle
this.imageAssets = "",
this.imgSize = 30,
this.centralCircleBackgroundColor = defaultCentralCircleBackgroundColor,
this.centralCircleSize = 25,
// Day Params
this.dayTitle,
this.dayTitleFontSize = 5,
this.dayFontSize = 12,
this.selectedDayCircleSize = 1, // 18 for Arc Theme, 15 for basic theme
this.dayTextColor = defaultBlackColor,
this.selectedDayBackgroundColor = Colors.white,
this.selectedDayFontSize = 12,
this.selectedDayTextColor = defaultBlackColor,
this.selectedDayCircleBorderColor = Colors.transparent,
this.phasesTextSize = 8,
this.isShowDayTitle = true,
this.dayFontWeight = FontWeight.normal,
this.theme = MenstrualCycleTheme.arcs,
this.circleDaySize = 13, //Only when Theme is MenstrualCycleTheme.circle
this.phaseTextBoundaries = PhaseTextBoundaries.outside,
this.arcStrokeWidth = 30,
this.outsidePhasesTextSize = 12,
this.outsideTextCharSpace = 3,
this.outsideTextSpaceFromArc = 30,
this.centralCircleBorderColor = Colors.transparent,
this.centralCircleBorderSize = 1,
this.isRemoveBackgroundPhaseColor = true,
this.viewType = MenstrualCycleViewType.text,
this.title = "",
this.titleTextColor = Colors.black,
this.titleTextSize = 20,
this.titleFontWeight = FontWeight.bold,
this.message = "",
this.message2 = "",
this.messageTextColor = Colors.black45,
this.messageTextSize = 10,
this.messageFontWeight = FontWeight.normal,
this.spaceBtnTitleMessage = 5,
this.isAutoSetData = false});