티스토리 뷰
🤼♀️/Flutter
[Flutter] 쿠퍼티노 얼럿 띄우기 (CupertinoAlertDialog, showCupertinoDialog)
eungding 2020. 9. 25. 15:45728x90
반응형
CupertinoAlertDialog
플러터에서 iOS 스타일의 얼럿을 만드려면 CupertinoAlertDialog 를 쓰면 됩니다.
생성자는 이렇게 생겼습니다.
예를 들어 이렇게 만들면 됩니다.
CupertinoAlertDialog(
title: Text("Alert"),
content: Text("My alert message"),
actions: [CupertinoDialogAction(isDefaultAction: true, child: Text("Close")), onPressed: null]
)
showCupertinoDialog
그럼 얼럿을 만드는 법을 알았으니 어떻게 띄울수있는지 알아보겠습니다.
showCupertinoDialog function을 사용하면 됩니다.
이렇게 생겼고 iOS-style dialog를 앱의 현재 컨텐츠 위에 띄워주는 역할을 합니다.
barrierDismissable은 디폴트값이 false인데 이걸 true로 바꾸면
얼럿 바깥 화면을 눌러도 얼럿이 닫히게 됩니다.
이런식으로 만들어줄 수 있어요
저는 로그인이 실패했을때 얼럿을 띄우는 거라 아래코드처럼 해줬어요
void _showAlert({String title, String message}) {
showCupertinoDialog(context: context, builder: (context) {
return CupertinoAlertDialog(
title: Text(title),
content: Text(message),
actions: [
CupertinoDialogAction(isDefaultAction: true, child: Text("확인"), onPressed: () {
Navigator.pop(context);
})
],
);
});
}
void _login() {
// 로그인 하기
var id = _idTextEditController.text;
var password = _passwordTextEditController.text;
_viewModel.login(id, password).then((isSucceed) {
if (isSucceed == false) {
_showAlert(title: "로그인 실패", message: "다시 시도해주세요");
}
});
}
우선 아이폰 다크모드일때 얼럿 색깔도 다크색깔로 잘나오네요..!
폰트 따로 설정안해줬는데 안드로이드는 다른 위젯이 쓰는 폰트가 나오고(신기함) iOS는 기본폰트가 나옵니다.
반응형
'🤼♀️ > Flutter' 카테고리의 다른 글
[Flutter] Spacer로 adjustable한 empty spacing을 만들기 (0) | 2020.10.15 |
---|---|
[Flutter] FutureBuilder를 통해 비동기상황에서 뷰 대응을 해주자 (1) | 2020.10.02 |
[Flutter] iOS, 안드로이드에서 로컬 서버에 접속하기 (1) | 2020.09.25 |
[Flutter] 화면전환 (Navigator, CupertinoPageRoute) (0) | 2020.09.25 |
[Flutter] Provider로 앱 상태 관리하기 (0) | 2020.09.23 |
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 플러터 싱글톤
- flutter 앱 출시
- ribs
- 장고 Custom Management Command
- Watch App for iOS App vs Watch App
- PencilKit
- 장고 URL querystring
- flutter build mode
- ipad multitasking
- METAL
- Flutter Spacer
- cocoapod
- 구글 Geocoding API
- drf custom error
- SerializerMethodField
- flutter deep link
- 플러터 얼럿
- Django Heroku Scheduler
- flutter dynamic link
- Flutter Clipboard
- Django FCM
- Sketch 누끼
- Python Type Hint
- Flutter 로딩
- Flutter Text Gradient
- github actions
- DRF APIException
- Dart Factory
- Flutter getter setter
- Django Firebase Cloud Messaging
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함