[flutter] 플러터 DatePicker에서 특정 요일 제한하기

플러터의 DatePicker를 사용할 때, 특정 요일만 선택할 수 있도록 제한하고 싶을 때가 있을 수 있습니다. 예를 들어, 매주 특정 요일에만 약속이 있는 상황이라면 해당 요일 이외의 날짜를 선택하지 못하도록 설정하고 싶을 수 있습니다.

이를 위해서는 ` selectableDayPredicate` 속성을 사용하여 DatePicker가 보여줄 수 있는 날짜를 제한할 수 있습니다.

아래는 실제 예제 코드입니다.

DateTime _selectedDate = DateTime.now();

bool _isSelectableDate(DateTime date) {
  // 월요일(1)과 화요일(2)만 선택 가능하도록 설정
  return date.weekday == 1 || date.weekday == 2;
}

void _showDatePicker(BuildContext context) {
  showDatePicker(
    context: context,
    initialDate: _selectedDate,
    firstDate: DateTime(2022),
    lastDate: DateTime(2023),
    selectableDayPredicate: _isSelectableDate,
  ).then((pickedDate) {
    if (pickedDate != null && pickedDate != _selectedDate) {
      setState(() {
        _selectedDate = pickedDate;
      });
    }
  });
}

위 예제 코드에서는 _isSelectableDate 함수를 사용하여 월요일(1)과 화요일(2)만 선택 가능하도록 설정하고 있습니다.

이렇게 하면 DatePicker에서 사용자가 선택할 수 있는 날짜를 제한함으로써 특정 요일에만 약속이 있는 상황을 고려해 보다 유용한 앱을 구현할 수 있습니다.

더 많은 자세한 정보는 Flutter 공식 문서를 참고하시기 바랍니다.