Worked on the margin between flag and the country name and also ensured sound-null saftey is enabled

This commit is contained in:
Ernest Eferetin
2024-10-22 08:43:09 +01:00
parent b77740619a
commit b99060c4eb
5 changed files with 18 additions and 12 deletions

View File

@@ -26,6 +26,6 @@ subprojects {
project.evaluationDependsOn(':app')
}
task clean(type: Delete) {
tasks.register("clean", Delete) {
delete rootProject.buildDir
}

View File

@@ -5,7 +5,7 @@ import 'package:flutter_localizations/flutter_localizations.dart';
void main() => runApp(const MyApp());
class MyApp extends StatefulWidget {
const MyApp({Key key}) : super(key: key);
const MyApp({super.key});
@override
MyAppState createState() => MyAppState();
@@ -107,10 +107,12 @@ class MyAppState extends State<MyApp> {
favorite: const ['+39', 'FR'],
countryFilter: const ['IT', 'FR'],
showFlagDialog: false,
comparator: (a, b) => b.name.compareTo(a.name),
//You can set the margin between the flag and the country name to your taste.
margin: const EdgeInsets.symmetric(horizontal: 6),
comparator: (a, b) => b.name!.compareTo(a.name!),
//Get the country information relevant to the initial selection
onInit: (code) => debugPrint(
"on init ${code.name} ${code.dialCode} ${code.name}"),
"on init ${code?.name} ${code?.dialCode} ${code?.name}"),
),
CountryCodePicker(
onChanged: print,

View File

@@ -11,7 +11,7 @@ version: 1.0.0+1
publish_to: none
environment:
sdk: ">=2.0.0-dev.68.0 <3.0.0"
sdk: '>=2.17.0 <4.0.0'
dependencies:
flutter:

View File

@@ -19,6 +19,7 @@ class CountryCodePicker extends StatefulWidget {
final List<String> favorite;
final TextStyle? textStyle;
final EdgeInsetsGeometry padding;
final EdgeInsetsGeometry? margin;
final bool showCountryOnly;
final InputDecoration searchDecoration;
final TextStyle? searchStyle;
@@ -99,6 +100,7 @@ class CountryCodePicker extends StatefulWidget {
this.favorite = const [],
this.textStyle,
this.padding = const EdgeInsets.all(8.0),
this.margin,
this.showCountryOnly = false,
this.searchDecoration = const InputDecoration(),
this.searchStyle,
@@ -127,7 +129,8 @@ class CountryCodePicker extends StatefulWidget {
this.dialogBackgroundColor,
this.closeIcon = const Icon(Icons.close),
this.countryList = codes,
this.dialogItemPadding = const EdgeInsets.symmetric(horizontal: 24, vertical: 8),
this.dialogItemPadding =
const EdgeInsets.symmetric(horizontal: 24, vertical: 8),
this.searchPadding = const EdgeInsets.symmetric(horizontal: 24),
Key? key,
}) : super(key: key);
@@ -194,9 +197,10 @@ class CountryCodePickerState extends State<CountryCodePicker> {
? Clip.none
: Clip.hardEdge,
decoration: widget.flagDecoration,
margin: widget.alignLeft
? const EdgeInsets.only(right: 16.0, left: 8.0)
: const EdgeInsets.only(right: 16.0),
margin: widget.margin ??
(widget.alignLeft
? const EdgeInsets.only(right: 16.0, left: 8.0)
: const EdgeInsets.only(right: 16.0)),
child: Image.asset(
selectedItem!.flagUri!,
package: 'country_code_picker',
@@ -221,9 +225,9 @@ class CountryCodePickerState extends State<CountryCodePicker> {
flex: widget.alignLeft ? 0 : 1,
fit: widget.alignLeft ? FlexFit.tight : FlexFit.loose,
child: Padding(
padding: widget.alignLeft
padding: (widget.alignLeft
? const EdgeInsets.only(right: 16.0, left: 8.0)
: const EdgeInsets.only(right: 16.0),
: const EdgeInsets.only(right: 16.0)),
child: Icon(
Icons.arrow_drop_down,
color: Colors.grey,

View File

@@ -6,7 +6,7 @@ repository: https://github.com/chandrabezzo/CountryCodePicker
issue_tracker: https://github.com/imtoori/CountryCodePicker/issues
environment:
sdk: '>=2.12.0 <3.0.0'
sdk: '>=2.17.0 <4.0.0'
dependencies:
flutter: