「Flutter/alert」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→一択確認アラート) |
(→複数選択) |
||
行78: | 行78: | ||
}, | }, | ||
); | ); | ||
+ | </pre> | ||
+ | |||
+ | ==iOSスタイルの複数選択== | ||
+ | <pre> | ||
+ | showCupertinoModalPopup( | ||
+ | context: context, | ||
+ | builder: (BuildContext context) { | ||
+ | return CupertinoActionSheet( | ||
+ | title: const Text('タイトル'), | ||
+ | actions: <Widget>[ | ||
+ | CupertinoActionSheetAction( | ||
+ | child: const Text('選択1'), | ||
+ | onPressed: () { | ||
+ | Navigator.pop(context, '選択1'); | ||
+ | }, | ||
+ | ), | ||
+ | CupertinoActionSheetAction( | ||
+ | child: const Text('選択2'), | ||
+ | onPressed: () { | ||
+ | Navigator.pop(context, '選択2'); | ||
+ | }, | ||
+ | ), | ||
+ | CupertinoActionSheetAction( | ||
+ | child: const Text('選択3'), | ||
+ | onPressed: () { | ||
+ | Navigator.pop(context, '選択3'); | ||
+ | }, | ||
+ | ), | ||
+ | ], | ||
+ | cancelButton: CupertinoActionSheetAction( | ||
+ | child: const Text('キャン選択'), | ||
+ | isDefaultAction: true, | ||
+ | onPressed: () { | ||
+ | Navigator.pop(context, 'キャン選択'); | ||
+ | }, | ||
+ | )); | ||
+ | }); | ||
</pre> | </pre> |
2019年12月6日 (金) 18:42時点における版
一択確認アラート
showDialog( context: context, builder: (context) { return AlertDialog( title: Text( 'タイトル', style: TextStyle(locale: Locale("ja", "JP"))), content: SingleChildScrollView( child: ListBody( children: <Widget>[ Text('本文。', style: TextStyle(locale: Locale("ja", "JP"))), ], ), ), actions: <Widget>[ FlatButton( child: Text('ok'), onPressed: () { Navigator.of(context).pop(); }, ), ], ); }, );
OK/Cancel確認フォーム
showDialog( context: context, builder: (context) { return CupertinoAlertDialog( title: Text("タイトル1"), content: Text("本文1"), actions: <Widget>[ CupertinoDialogAction( child: Text("Cancel"), isDestructiveAction: true, onPressed: () => Navigator.pop(context), ), CupertinoDialogAction( child: Text("OK"), onPressed: () => Navigator.pop(context), ), ], ); }, );
参考:https://qiita.com/coka__01/items/4c1aea5fb1646e463f91
複数選択
showDialog( context: context, builder: (context) { return SimpleDialog( title: Text("タイトル"), children: <Widget>[ SimpleDialogOption( child: Text("編集", style: TextStyle(locale: Locale("ja", "JP"))), onPressed: () => Navigator.pop(context), ), SimpleDialogOption( child: Text("操作", style: TextStyle(locale: Locale("ja", "JP"))), onPressed: () => Navigator.pop(context), ), SimpleDialogOption( child: Text("削除", style: TextStyle(locale: Locale("ja", "JP"))), onPressed: () => Navigator.pop(context), ), ], ); }, );
iOSスタイルの複数選択
showCupertinoModalPopup( context: context, builder: (BuildContext context) { return CupertinoActionSheet( title: const Text('タイトル'), actions: <Widget>[ CupertinoActionSheetAction( child: const Text('選択1'), onPressed: () { Navigator.pop(context, '選択1'); }, ), CupertinoActionSheetAction( child: const Text('選択2'), onPressed: () { Navigator.pop(context, '選択2'); }, ), CupertinoActionSheetAction( child: const Text('選択3'), onPressed: () { Navigator.pop(context, '選択3'); }, ), ], cancelButton: CupertinoActionSheetAction( child: const Text('キャン選択'), isDefaultAction: true, onPressed: () { Navigator.pop(context, 'キャン選択'); }, )); });