Dialog
Dialog Widgetは画面にポップアップを表示するために使用されます。
アラートや確認メッセージなど重要なメッセージを表示する場合に有効です。
- showDialog
- Dialog
FlutterではshowDialog
関数を使用してダイアログを呼び出すことができます。
ダイアログを閉じたい場合は、Navigator.pop(context)
を使用して閉じることができます。
onPressed: () => showDialog(context: context,builder: (BuildContext context) => Dialog(child: ...)),
- Dialog.fullscreen
全画面のダイアログを表示するためにはDialog.fullscreen
で対応することができます。
全画面に表示されるため、"閉じるボタン"を設置する必要があることに注意してください。
onPressed: () => showDialog(context: context,builder: (BuildContext context) => Dialog.fullscreen(child: ...))
- AlertDialog
AlertDialog
はユーザーに対して注意や確認を行う場合に使用されます。
カスタマイズ性は低いですが、シンプルで使いやすくユーザーの確認が必要な場面で重宝します。
onPressed: () => showDialog(context: context,builder: (BuildContext context) => AlertDialog(title: const Text("Notifications"),content: const Text("Do you allow notifications?"),actions: <Widget>[TextButton(onPressed: () => Navigator.pop(context, 'Cancel'),child: const Text('Cancel'),),TextButton(child: const Text('Approve'),onPressed: () {Navigator.of(context).pop();},),],)),
- showGeneralDialog
showGeneralDialog
は高度なダイアログを実装する場合や、特定のデザインを持つダイアログを作成する際に使用されます。transitionBuilder
はダイアログの表示および非表示時のアニメーションを制御する関数であり、スケーリングやフェードなど様々なアニメーションを実装することができます。
onPressed: () => showGeneralDialog(context: context,pageBuilder: (c, a1, a2) => Container(),transitionBuilder: (ctx, a1, a2, child) {return Transform.scale(scale: Curves.easeInOut.transform(a1.value), // this is animation codechild: Dialog(child: ...));},),
さらに詳しく知りたい場合は、以下の公式ドキュメントから参照してください。