728x90
반응형
현재시간
final now = DateTime.now();
D-Day
.difference
final now = DateTime.now();
'D+${DateTime(now.year, now.month, now.day).difference(firstDay).inDays + 1}'
하루씩 차감하기(뺴기)
.subtract
DateTime firstDay = DateTime.now();
firstDay = firstDay.subtract(Duration(days: 1));
Dialog가 갑자기 안띄어 지는 경우
No MaterialLocalizations found.
MaterialApp안에 Scaffold안에서 바로 호출하면 문제가 발생한다.
정확한 원인은 알 수 없으나, MaterialApp안에서 선언시 showDialog 또는 showCupertinoDialog가 호출되지 않는다.
따로 선언한 클래스에서 다이어로그를 호출하고, 받아올 값이 있다면, typedef함수(Function)로 lister형태로 받아오면 된다.
final DateTime firstDay; // 사귀기 시작한 날
final Function(DateTime date) dateCallback;
const _DDay({
super.key,
required this.firstDay,
required this.dateCallback
});
child: CupertinoDatePicker(
onDateTimeChanged: (value) {
dateCallback(value);
},
mode: CupertinoDatePickerMode.date,
_DDay(
firstDay: firstDay,
dateCallback: (date) {
setState(() {
firstDay = date;
});
},
),
Dialog화면 밖을 클릭했을때 꺼지게 하고 싶은 경우
- showDialog내부 파라메터이다.
- android에서는 outsideWindowCancel이었던가...
barrierDismissible: true
CupertinoDatePicker
mode : CupertinoDatePickerMode
date : 날짜
time : 시간
dateAndTime : 날짜와 시간
showCupertinoDialog(
context: context,
builder: (context) => Align(
alignment: Alignment.bottomCenter,
child: Container(
color: Colors.white,
height: 300,
child: CupertinoDatePicker(
onDateTimeChanged: (value) {
},
mode: CupertinoDatePickerMode.date,
),
),
),
barrierDismissible: true
);

728x90
반응형
'lan > dart' 카테고리의 다른 글
[Dart] SQL정리 sqflite라이브러리 (0) | 2024.01.12 |
---|---|
[Dart] Mixin활용 (0) | 2024.01.11 |
[Dart] Functional 정리 (0) | 2023.12.14 |
[Dart] OOP 정리 (0) | 2023.12.13 |
[Dart] Dart다트 언어 정리 (0) | 2023.12.13 |