update readme
This commit is contained in:
30
README.md
30
README.md
@@ -65,6 +65,36 @@ Just add the `CountryLocalizations.delegate` in the list of your app delegates
|
|||||||
],
|
],
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Customization
|
||||||
|
|
||||||
|
Here is a list of properties available to customize your widget:
|
||||||
|
|
||||||
|
| Name | Type | Description |
|
||||||
|
|-|-|
|
||||||
|
|onChanged| ValueChanged<CountryCode> | callback invoked when the selection changes |
|
||||||
|
|onInit| ValueChanged<CountryCode> | callback invoked during initialization of the widget |
|
||||||
|
|initialSelection| String | used to set the initial selected value |
|
||||||
|
|favorite| List<String> | used to populate the favorite country list |
|
||||||
|
|textStyle| TextStyle | TextStyle applied to the widget button |
|
||||||
|
|padding| EdgeInsetsGeometry | the padding applied to the button |
|
||||||
|
|showCountryOnly| bool | true if you want to see only the countries in the selection dialog |
|
||||||
|
|searchDecoration| InputDecoration | decoration applied to the TextField search widget |
|
||||||
|
|searchStyle| TextStyle | style applied to the TextField search widget text |
|
||||||
|
|emptySearchBuilder| WidgetBuilder | use this to customize the widget used when the search returns 0 elements |
|
||||||
|
|builder| Function(CountryCode) | use this to build a custom widget instead of the default FlatButton |
|
||||||
|
|enabled| bool | set to false to disable the widget |
|
||||||
|
|textOverflow| TextOverflow | the button text overflow behaviour |
|
||||||
|
|dialogSize| Size | the size of the selection dialog |
|
||||||
|
|countryFilter| List<String> | uses a list of strings to filter a sublist of countries |
|
||||||
|
|showOnlyCountryWhenClosed| bool | if true it'll show only the country |
|
||||||
|
|alignLeft| bool | aligns the flag and the Text to the left |
|
||||||
|
|showFlag| bool | shows the flag everywhere |
|
||||||
|
|showFlagMain| bool | shows the flag only when closed |
|
||||||
|
|showFlagDialog| bool | shows the flag only in dialog |
|
||||||
|
|flagWidth| double | the width of the flags |
|
||||||
|
|comparator| Comparator<CountryCode> | use this to sort the countries in the selection dialog |
|
||||||
|
|hideSearch| bool | if true the search feature will be disabled |
|
||||||
|
|
||||||
## Contributions
|
## Contributions
|
||||||
|
|
||||||
Contributions of any kind are more than welcome! Feel free to fork and improve country_code_picker in any way you want, make a pull request, or open an issue.
|
Contributions of any kind are more than welcome! Feel free to fork and improve country_code_picker in any way you want, make a pull request, or open an issue.
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ class _MyAppState extends State<MyApp> {
|
|||||||
Locale('en'),
|
Locale('en'),
|
||||||
Locale('it'),
|
Locale('it'),
|
||||||
Locale('fr'),
|
Locale('fr'),
|
||||||
|
Locale('es'),
|
||||||
],
|
],
|
||||||
localizationsDelegates: [
|
localizationsDelegates: [
|
||||||
CountryLocalizations.delegate,
|
CountryLocalizations.delegate,
|
||||||
|
|||||||
@@ -118,9 +118,9 @@ class CountryCodePickerState extends State<CountryCodePicker> {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
Widget _widget;
|
Widget _widget;
|
||||||
if (widget.builder != null)
|
if (widget.builder != null)
|
||||||
_widget = InkWell(
|
_widget = GestureDetector(
|
||||||
onTap: showCountryCodePickerDialog,
|
onTap: showCountryCodePickerDialog,
|
||||||
child: widget.builder(selectedItem.localize(context)),
|
child: widget.builder(selectedItem),
|
||||||
);
|
);
|
||||||
else {
|
else {
|
||||||
_widget = FlatButton(
|
_widget = FlatButton(
|
||||||
@@ -175,7 +175,8 @@ class CountryCodePickerState extends State<CountryCodePicker> {
|
|||||||
(e) =>
|
(e) =>
|
||||||
(e.code.toUpperCase() ==
|
(e.code.toUpperCase() ==
|
||||||
widget.initialSelection.toUpperCase()) ||
|
widget.initialSelection.toUpperCase()) ||
|
||||||
(e.dialCode == widget.initialSelection.toString()),
|
(e.dialCode == widget.initialSelection) ||
|
||||||
|
(e.name.toUpperCase() == widget.initialSelection.toUpperCase()),
|
||||||
orElse: () => elements[0]);
|
orElse: () => elements[0]);
|
||||||
} else {
|
} else {
|
||||||
selectedItem = elements[0];
|
selectedItem = elements[0];
|
||||||
@@ -190,7 +191,8 @@ class CountryCodePickerState extends State<CountryCodePicker> {
|
|||||||
selectedItem = elements.firstWhere(
|
selectedItem = elements.firstWhere(
|
||||||
(e) =>
|
(e) =>
|
||||||
(e.code.toUpperCase() == widget.initialSelection.toUpperCase()) ||
|
(e.code.toUpperCase() == widget.initialSelection.toUpperCase()) ||
|
||||||
(e.dialCode == widget.initialSelection.toString()),
|
(e.dialCode == widget.initialSelection) ||
|
||||||
|
(e.name.toUpperCase() == widget.initialSelection.toUpperCase()),
|
||||||
orElse: () => elements[0]);
|
orElse: () => elements[0]);
|
||||||
} else {
|
} else {
|
||||||
selectedItem = elements[0];
|
selectedItem = elements[0];
|
||||||
@@ -199,7 +201,10 @@ class CountryCodePickerState extends State<CountryCodePicker> {
|
|||||||
favoriteElements = elements
|
favoriteElements = elements
|
||||||
.where((e) =>
|
.where((e) =>
|
||||||
widget.favorite.firstWhere(
|
widget.favorite.firstWhere(
|
||||||
(f) => e.code == f.toUpperCase() || e.dialCode == f.toString(),
|
(f) =>
|
||||||
|
e.code.toUpperCase() == f.toUpperCase() ||
|
||||||
|
e.dialCode == f ||
|
||||||
|
e.name.toUpperCase() == f.toUpperCase(),
|
||||||
orElse: () => null) !=
|
orElse: () => null) !=
|
||||||
null)
|
null)
|
||||||
.toList();
|
.toList();
|
||||||
|
|||||||
Reference in New Issue
Block a user