CS/Flutter | Dart
캘린더 일정관리 앱 #4
damzzi
2023. 8. 18. 03:14
커스텀 텍스트필드 클래스에 bool 타입으로 isTime 변수를 만들어준다
isTime이 true면 시간을 뜻한다는 것이고 (시작 시간, 마치는 시간)
false면 내용을 뜻한다는 것이다 (content)
maxLines: isTime ? 1 : null, // 시간과 관련있으면(시작, 마침) 1줄, 내용과 관련있으면 쭉..
expands: !isTime,
keyboardType: isTime ? TextInputType.number : TextInputType.multiline,
inputFormatters: isTime ? [FilteringTextInputFormatter.digitsOnly] : [],
// 숫자 외 글자는 넣지 못하게 막음
-> 시간 의미하는 텍스트필드는 숫자만 입력 받고 (숫자 키패드 고정)
내용 의미하는 텍스트필드는 문자를 입력 받는다 (문자 키패드가 뜨지만 숫자 등도 가능한 multiline)
-> 입력하는 줄 수도 시간, 내용 각각 다르게 지정해준다
각 텍스트필드마다 isTime true/false 지정해준다
스케줄 바텀 시트의 어디라도 누르게 되면 키패드가 닫히게 해준다
onTap: () {
FocusScope.of(context).requestFocus(FocusNode());
// 시트의 어디라도 누르면 키패드 닫힘
// 이 부분은 외워두기!
},
지금까지 구현된 모습!