Merge pull request #129 from xrgloria/add_dialog_background_color

Adds background color to selection dialog
This commit is contained in:
Salvatore Giordano
2020-12-11 23:10:17 +01:00
committed by GitHub
2 changed files with 16 additions and 2 deletions

View File

@@ -37,6 +37,9 @@ class CountryCodePicker extends StatefulWidget {
/// the size of the selection dialog /// the size of the selection dialog
final Size dialogSize; final Size dialogSize;
/// Background color of selection dialog
final Color dialogBackgroundColor;
/// used to customize the country list /// used to customize the country list
final List<String> countryFilter; final List<String> countryFilter;
@@ -97,6 +100,7 @@ class CountryCodePicker extends StatefulWidget {
this.countryFilter, this.countryFilter,
this.hideSearch = false, this.hideSearch = false,
this.dialogSize, this.dialogSize,
this.dialogBackgroundColor,
this.closeIcon = const Icon(Icons.close), this.closeIcon = const Icon(Icons.close),
Key key, Key key,
}) : super(key: key); }) : super(key: key);
@@ -260,6 +264,8 @@ class CountryCodePickerState extends State<CountryCodePicker> {
: widget.showFlag, : widget.showFlag,
flagWidth: widget.flagWidth, flagWidth: widget.flagWidth,
size: widget.dialogSize, size: widget.dialogSize,
backgroundColor: widget.dialogBackgroundColor,
barrierColor: widget.barrierColor,
hideSearch: widget.hideSearch, hideSearch: widget.hideSearch,
closeIcon: widget.closeIcon, closeIcon: widget.closeIcon,
), ),

View File

@@ -16,6 +16,12 @@ class SelectionDialog extends StatefulWidget {
final bool hideSearch; final bool hideSearch;
final Icon closeIcon; final Icon closeIcon;
/// Background color of SelectionDialog
final Color backgroundColor;
/// Boxshaow color of SelectionDialog that matches CountryCodePicker barrier color
final Color barrierColor;
/// elements passed as favorite /// elements passed as favorite
final List<CountryCode> favoriteElements; final List<CountryCode> favoriteElements;
@@ -32,6 +38,8 @@ class SelectionDialog extends StatefulWidget {
this.showFlag, this.showFlag,
this.flagWidth = 32, this.flagWidth = 32,
this.size, this.size,
this.backgroundColor,
this.barrierColor,
this.hideSearch = false, this.hideSearch = false,
this.closeIcon, this.closeIcon,
}) : assert(searchDecoration != null, 'searchDecoration must not be null!'), }) : assert(searchDecoration != null, 'searchDecoration must not be null!'),
@@ -58,11 +66,11 @@ class _SelectionDialogState extends State<SelectionDialog> {
widget.size?.height ?? MediaQuery.of(context).size.height * 0.85, widget.size?.height ?? MediaQuery.of(context).size.height * 0.85,
decoration: widget.boxDecoration ?? decoration: widget.boxDecoration ??
BoxDecoration( BoxDecoration(
color: Colors.white, color: widget.backgroundColor ?? Colors.white,
borderRadius: BorderRadius.all(Radius.circular(25.0)), borderRadius: BorderRadius.all(Radius.circular(25.0)),
boxShadow: [ boxShadow: [
BoxShadow( BoxShadow(
color: Colors.grey.withOpacity(1), color: widget.barrierColor ?? Colors.grey.withOpacity(1),
spreadRadius: 5, spreadRadius: 5,
blurRadius: 7, blurRadius: 7,
offset: Offset(0, 3), // changes position of shadow offset: Offset(0, 3), // changes position of shadow