CS/Flutter | Dart

캘린더 일정관리 앱 #4

damzzi 2023. 8. 18. 03:14

custom_textField.dart

커스텀 텍스트필드 클래스에 bool 타입으로 isTime 변수를 만들어준다

isTime이 true면 시간을 뜻한다는 것이고 (시작 시간, 마치는 시간)

false면 내용을 뜻한다는 것이다 (content)

 

 

 

custom_textField.dart

maxLines: isTime ? 1 : null, // 시간과 관련있으면(시작, 마침) 1줄, 내용과 관련있으면 쭉..
expands: !isTime,
keyboardType: isTime ? TextInputType.number : TextInputType.multiline,
inputFormatters: isTime ? [FilteringTextInputFormatter.digitsOnly] : [],
// 숫자 외 글자는 넣지 못하게 막음

-> 시간 의미하는 텍스트필드는 숫자만 입력 받고 (숫자 키패드 고정)

     내용 의미하는 텍스트필드는 문자를 입력 받는다 (문자 키패드가 뜨지만 숫자 등도 가능한 multiline)

 

-> 입력하는 줄 수도 시간, 내용 각각 다르게 지정해준다

 

 

 

 

schedule_btm_sheet.dart

각 텍스트필드마다 isTime true/false 지정해준다

 

 

 

schedule_btm_sheet.dart

스케줄 바텀 시트의 어디라도 누르게 되면 키패드가 닫히게 해준다

onTap: () {
  FocusScope.of(context).requestFocus(FocusNode());
  // 시트의 어디라도 누르면 키패드 닫힘
  // 이 부분은 외워두기!
},

 

 

 

지금까지 구현된 모습!