This commit is contained in:
OkaykOrhmn 2024-09-17 16:41:45 +03:30
parent dc918c633f
commit 56532c7918
1 changed files with 21 additions and 25 deletions

View File

@ -55,11 +55,7 @@ class _CustomCupertinoDatePickerState extends State<CustomCupertinoDatePicker> {
void initState() { void initState() {
super.initState(); super.initState();
for (int i = 0; i < 12 + 1; i++) { for (int i = 0; i < 12; i++) {
String twoDigitNumber = i.toString().padLeft(2, '0');
_timeH.add(twoDigitNumber);
}
for (int i = 1; i < 11 + 1; i++) {
String twoDigitNumber = i.toString().padLeft(2, '0'); String twoDigitNumber = i.toString().padLeft(2, '0');
_timeH.add(twoDigitNumber); _timeH.add(twoDigitNumber);
} }
@ -82,16 +78,16 @@ class _CustomCupertinoDatePickerState extends State<CustomCupertinoDatePicker> {
switch (selectedTime.meridiem) { switch (selectedTime.meridiem) {
case Meridiem.AM: case Meridiem.AM:
_selectedMeridiemIndex = 0; _selectedMeridiemIndex = 0;
_selectedHourIndex = int.parse(selectedTime.hour) - 1;
break; break;
case Meridiem.PM: case Meridiem.PM:
_selectedMeridiemIndex = 1; _selectedMeridiemIndex = 1;
_selectedHourIndex = (int.parse(selectedTime.hour) + 12) - 1;
break; break;
} }
_selectedHourIndex = int.parse(selectedTime.hour);
_selectedMinuteIndex = int.parse(selectedTime.minute); _selectedMinuteIndex = int.parse(selectedTime.minute);
WidgetsBinding.instance.addPostFrameCallback((_) { WidgetsBinding.instance.addPostFrameCallback((_) {
_scrollList(_meridiemScrollController, _selectedMeridiemIndex); _scrollList(_meridiemScrollController, _selectedMeridiemIndex);
@ -120,17 +116,17 @@ class _CustomCupertinoDatePickerState extends State<CustomCupertinoDatePicker> {
switch (type) { switch (type) {
case SelectorType.meridiem: case SelectorType.meridiem:
_selectedMeridiemIndex = index; // if month is changed to february & _selectedMeridiemIndex = index; // if month is changed to february &
if (_selectedMeridiemIndex == 0) { // if (_selectedMeridiemIndex == 0) {
if (_selectedHourIndex > 12 - 1) { // if (_selectedHourIndex > 12 - 1) {
_selectedHourIndex -= 12; // _selectedHourIndex -= 12;
_hourScrollController.jumpToItem(_selectedHourIndex); // _hourScrollController.jumpToItem(_selectedHourIndex);
} // }
} else { // } else {
if (_selectedHourIndex < 12 - 1) { // if (_selectedHourIndex < 12 - 1) {
_selectedHourIndex += 12; // _selectedHourIndex += 12;
_hourScrollController.jumpToItem(_selectedHourIndex); // _hourScrollController.jumpToItem(_selectedHourIndex);
} // }
} // }
if (index == 0) { if (index == 0) {
selectedTime.meridiem = Meridiem.AM; selectedTime.meridiem = Meridiem.AM;
} else { } else {
@ -140,13 +136,13 @@ class _CustomCupertinoDatePickerState extends State<CustomCupertinoDatePicker> {
case SelectorType.hour: case SelectorType.hour:
_selectedHourIndex = index; // if month is changed to february & _selectedHourIndex = index; // if month is changed to february &
if (_selectedHourIndex > 12 - 1) { // if (_selectedHourIndex > 12 - 1) {
_selectedMeridiemIndex = 1; // _selectedMeridiemIndex = 1;
_meridiemScrollController.jumpToItem(_selectedMeridiemIndex); // _meridiemScrollController.jumpToItem(_selectedMeridiemIndex);
} else { // } else {
_selectedMeridiemIndex = 0; // _selectedMeridiemIndex = 0;
_meridiemScrollController.jumpToItem(_selectedMeridiemIndex); // _meridiemScrollController.jumpToItem(_selectedMeridiemIndex);
} // }
selectedTime.hour = _timeH[index]; selectedTime.hour = _timeH[index];
break; break;