v1.0.2extended_phone_number_input
Phone input Flutter widget that supports country code, validation and contact picker
Phone number Flutter widget that supports validation, contact picker and country code
{"sdk":"flutter"}^4.6.0^4.2.1{"sdk":"flutter"}^1.0.0English project snapshot. Visit GitHub for the latest content.
A Highly customizable Phone input Flutter widget that supports country code, validation and contact picker.
https://github.com/WahidNasri/extended_phone_number_input/blob/master/example/screenshots/01.gif https://github.com/WahidNasri/extended_phone_number_input/blob/master/example/screenshots/02.gif https://github.com/WahidNasri/extended_phone_number_input/blob/master/example/screenshots/03.gif
Install the package extended_phone_number_input:
flutter pub add extended_phone_number_input
If you target Android 11+ (API 30+) and want to use the build-in contact picker you need to add the android.permission.READ_CONTACTS permission on the AndroidManifest.xml as this permission will be requested automatically.
A full and rich example can be found in /example folder.
PhoneNumberInput(initialCountry: 'SA', locale: 'ar')
const PhoneNumberInput(
initialCountry: 'US',
locale: 'en',
countryListMode: CountryListMode.dialog,
contactsPickerPosition: ContactsPickerPosition.suffix,
)
PhoneNumberInput(
initialCountry: 'TN',
locale: 'fr',
countryListMode: CountryListMode.dialog,
contactsPickerPosition: ContactsPickerPosition.suffix,
enabledBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(10),
borderSide: const BorderSide(color: Colors.purple)),
focusedBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(10),
borderSide: const BorderSide(color: Colors.purple))
)
To be able to select a phone number programmatically, we first need to define a PhoneInputController :
PhoneInputController _controller = PhoneInputController(context);
PhoneNumberInput(
controller: _controller
...
Select the desired phone number:
_controller.phoneNumber = '+1-....'
If you want to set the phone number from contact, The widget already support this feature without the need to use the controller.