import 'package:flutter/material.dart'; class DialogModalSelect extends StatefulWidget { const DialogModalSelect({Key? key, this.title, this.descriptions, this.text}) : super(key: key); final String? title; final String? descriptions; final String? text; @override _DialogModalSelectState createState() => _DialogModalSelectState(); } class _DialogModalSelectState extends State { double padding = 8.0; double avatarRadius = 16.0; @override Widget build(BuildContext context) { return Dialog( shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(padding), ), elevation: 0, backgroundColor: Colors.transparent, child: contentBox(context), ); } Widget contentBox(BuildContext context) { return Stack( children: [ Container( padding: EdgeInsets.only( left: padding, top: avatarRadius + padding, right: padding, bottom: padding), margin: EdgeInsets.only(top: avatarRadius), decoration: BoxDecoration( shape: BoxShape.rectangle, color: Colors.white, borderRadius: BorderRadius.circular(padding), boxShadow: [ const BoxShadow( color: Colors.black, offset: Offset(0, 10), blurRadius: 10), ]), child: Column( mainAxisSize: MainAxisSize.min, children: [ Text( widget.title ?? '', style: TextStyle(fontSize: 22, fontWeight: FontWeight.w600), ), SizedBox( height: 15, ), Text( widget.descriptions ?? '', style: TextStyle(fontSize: 14), textAlign: TextAlign.center, ), SizedBox( height: 22, ), Align( alignment: Alignment.bottomRight, child: TextButton( onPressed: () { Navigator.of(context).pop(); }, child: Text( widget.text ?? '', style: TextStyle(fontSize: 18), )), ), ], ), ), Positioned( left: padding, right: padding, child: CircleAvatar( backgroundColor: Colors.transparent, radius: avatarRadius, child: ClipRRect( borderRadius: BorderRadius.all(Radius.circular(avatarRadius)), child: Image.asset('assets/model.jpeg')), ), ) ], ); } }