diff --git a/example/lib/main.dart b/example/lib/main.dart index a92be9c..eca69d7 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -38,9 +38,8 @@ class _MyAppState extends State { // Initial selection and favorite can be one of code ('IT') OR dial_code('+39') initialSelection: 'IT', favorite: ['+39', 'FR'], - showFlag: false, countryFilter: ['IT', 'FR'], - showFlagDialog: true, + showFlagDialog: false, comparator: (a, b) => b.name.compareTo(a.name), //Get the country information relevant to the initial selection onInit: (code) => @@ -53,14 +52,14 @@ class _MyAppState extends State { padding: const EdgeInsets.all(8.0), child: CountryCodePicker( onChanged: print, + hideMainText: true, + showFlagMain: true, + showFlag: false, initialSelection: 'TF', hideSearch: true, showCountryOnly: true, showOnlyCountryWhenClosed: true, alignLeft: true, - builder: (countryCode) { - return Text('${countryCode.code}'); - }, ), ), ), diff --git a/lib/country_code_picker.dart b/lib/country_code_picker.dart index 3a56eed..2ef13f5 100644 --- a/lib/country_code_picker.dart +++ b/lib/country_code_picker.dart @@ -42,6 +42,8 @@ class CountryCodePicker extends StatefulWidget { /// shows the flag final bool showFlag; + final bool hideMainText; + final bool showFlagMain; final bool showFlagDialog; @@ -71,6 +73,7 @@ class CountryCodePicker extends StatefulWidget { this.alignLeft = false, this.showFlag = true, this.showFlagDialog, + this.hideMainText = false, this.showFlagMain, this.builder, this.flagWidth = 32.0, @@ -132,7 +135,9 @@ class CountryCodePickerState extends State { direction: Axis.horizontal, mainAxisSize: MainAxisSize.min, children: [ - if (widget.showFlag || (widget.showFlagMain == true)) + if (widget.showFlagMain != null + ? widget.showFlagMain + : widget.showFlag) Flexible( flex: widget.alignLeft ? 0 : 1, fit: widget.alignLeft ? FlexFit.tight : FlexFit.loose, @@ -147,16 +152,17 @@ class CountryCodePickerState extends State { ), ), ), - Flexible( - fit: widget.alignLeft ? FlexFit.tight : FlexFit.loose, - child: Text( - widget.showOnlyCountryWhenClosed - ? selectedItem.toCountryStringOnly() - : selectedItem.toString(), - style: widget.textStyle ?? Theme.of(context).textTheme.button, - overflow: widget.textOverflow, + if (!widget.hideMainText) + Flexible( + fit: widget.alignLeft ? FlexFit.tight : FlexFit.loose, + child: Text( + widget.showOnlyCountryWhenClosed + ? selectedItem.toCountryStringOnly() + : selectedItem.toString(), + style: widget.textStyle ?? Theme.of(context).textTheme.button, + overflow: widget.textOverflow, + ), ), - ), ], ), ); @@ -231,7 +237,9 @@ class CountryCodePickerState extends State { searchDecoration: widget.searchDecoration, searchStyle: widget.searchStyle, textStyle: widget.dialogTextStyle, - showFlag: widget.showFlag || (widget.showFlagDialog == true), + showFlag: widget.showFlagDialog != null + ? widget.showFlagDialog + : widget.showFlag, flagWidth: widget.flagWidth, size: widget.dialogSize, hideSearch: widget.hideSearch,