{"id":32305698,"url":"https://github.com/henryleunghk/flutter-native-text-input","last_synced_at":"2025-10-23T06:54:31.979Z","repository":{"id":37288675,"uuid":"285730629","full_name":"henryleunghk/flutter-native-text-input","owner":"henryleunghk","description":"Native text input for Flutter","archived":false,"fork":false,"pushed_at":"2023-10-14T08:11:33.000Z","size":2182,"stargazers_count":70,"open_issues_count":10,"forks_count":59,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-10-23T06:54:31.577Z","etag":null,"topics":["android","flutter","ios"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/henryleunghk.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-08-07T03:44:26.000Z","updated_at":"2025-06-11T17:33:39.000Z","dependencies_parsed_at":"2024-06-21T03:32:39.076Z","dependency_job_id":"89b462d0-82eb-4184-858a-ff403f99e506","html_url":"https://github.com/henryleunghk/flutter-native-text-input","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/henryleunghk/flutter-native-text-input","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henryleunghk%2Fflutter-native-text-input","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henryleunghk%2Fflutter-native-text-input/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henryleunghk%2Fflutter-native-text-input/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henryleunghk%2Fflutter-native-text-input/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/henryleunghk","download_url":"https://codeload.github.com/henryleunghk/flutter-native-text-input/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henryleunghk%2Fflutter-native-text-input/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280577134,"owners_count":26354072,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-23T02:00:06.710Z","response_time":142,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","flutter","ios"],"created_at":"2025-10-23T06:54:30.414Z","updated_at":"2025-10-23T06:54:31.970Z","avatar_url":"https://github.com/henryleunghk.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Native Text Input for Flutter\n\nA text input widget built using the native `UITextView` on iOS and `EditText` on Android. For text view, please refer to [flutter-native-text-view](https://github.com/henryleunghk/flutter-native-text-view).\n\n```\nAndroid support is added in v2 🎉🎉🎉\n```\nFor existing project(s) using v1, please refer to [migration guide](migration-to-v2.md) here.\n\n## Installation\n\nFollow the instructions from https://pub.dev/packages/flutter_native_text_input/install\n\n## Why you should use this\n\nMany mobile app users are used to the subtle features provided by the native iOS or Android systems. Even though Flutter provides a lot of useful widgets, many Flutter developers will notice that `TextField` or `CupertinoTextField` provided by Flutter are [not on par with their native counterpart][1].\n\n![](demo/flutter-textfield.gif)\n![](demo/native-textview.gif)\n\nThe above shows just one of the missing text editing features in Flutter's `TextField`, when comparing to the native iOS `UITextView`. Features like these are especially important if you're building an app that involves a lot of text composition (messaging, editing document, and so on).\n\nTo address this, this package simply wraps the native `UITextView` (and `EditText` for Android) as a Flutter widget.\n\nHope you find it useful and happy coding! 🎉🎉🎉\n\n## Plugin API\n\n| Name            | Type          | Description                    | Default                  |\n|:----------------|:--------------|:-------------------------------|:-------------------------|\n| `controller`      | TextEditingController  | Controlling the text being edited (https://api.flutter.dev/flutter/material/TextField/controller.html) | null |\n| `decoration`      | BoxDecoration          | Controls the BoxDecoration of the box behind the text input (https://api.flutter.dev/flutter/cupertino/CupertinoTextField/decoration.html) | null |\n| `focusNode`       | FocusNode              | Defines the keyboard focus for this widget (https://api.flutter.dev/flutter/material/TextField/focusNode.html) | null |\n| `iosOptions`      | IosOptions             | iOS only options (cursorColor, keyboardAppearance) | null |\n| `keyboardType`    | KeyboardType           | Type of keyboard to display for a given text-based view (https://developer.apple.com/documentation/uikit/uikeyboardtype) | KeyboardType.defaultType |\n| `maxLines`        | int                    | The maximum number of lines to show at one time, wrapping if necessary (https://api.flutter.dev/flutter/material/TextField/maxLines.html) | 1 |\n| `minHeightPadding` | double                 | Extra vertical spacing added in addition to line height for iOS UITextView to fit well in single line mode | 18.0 |\n| `minLines`        | int                    | Minimum number of lines of text input widget | 1 |\n| `placeholder`     | String                 | Placeholder text when text entry is empty (https://api.flutter.dev/flutter/cupertino/CupertinoTextField/placeholder.html) | null |\n| `placeholderColor`| Color                  | The text color to use for the placeholder text | null |\n| `returnKeyType`   | ReturnKeyType          | Constants that specify the text string that displays in the Return key of a keyboard (https://developer.apple.com/documentation/uikit/uireturnkeytype) | ReturnKeyType.defaultAction |\n| `style`           | TextStyle              | The style to use for the text being edited [Only `fontSize`, `fontWeight`, `color` are supported] (https://api.flutter.dev/flutter/material/TextField/style.html) | null |\n| `textAlign`       | TextAlign              | How the text should be aligned horizontally (https://api.flutter.dev/flutter/material/TextField/textAlign.html) | TextAlign.start |\n| `textCapitalization` | TextCapitalization  | Configures how the platform keyboard will select an uppercase or lowercase keyboard (https://api.flutter.dev/flutter/material/TextField/textCapitalization.html) | TextCapitalization.none |\n| `textContentType` | TextContentType        | To identify the semantic meaning expected for a text-entry area (https://developer.apple.com/documentation/uikit/uitextcontenttype) | null |\n| `onChanged`       | ValueChanged\\\u003cString\u003e  | Called when the user initiates a change to text entry (https://api.flutter.dev/flutter/material/TextField/onChanged.html) | null |\n| `onEditingComplete` | VoidCallback?        | Called when the user submits editable content (e.g., user presses the \"done\" button on the keyboard) (https://api.flutter.dev/flutter/material/TextField/onEditingComplete.html) | null |\n| `onSubmitted`     | ValueChanged\\\u003cString\u003e  | Called when the user indicates that they are done editing the text in the field (https://api.flutter.dev/flutter/material/TextField/onSubmitted.html) | null |\n\n### **IosOptions**\n| Name            | Type          | Description                    | Default                  |\n|:----------------|:--------------|:-------------------------------|:-------------------------|\n| `cursorColor`        | Color               | The color of the cursor (https://api.flutter.dev/flutter/material/TextField/cursorColor.html) | null |\n| `keyboardAppearance` | Brightness          | The appearance of the keyboard (https://api.flutter.dev/flutter/material/TextField/keyboardAppearance.html) | null |\n| `placeholderStyle`| TextStyle              | The style to use for the placeholder text. [Only `fontSize`, `fontWeight` are supported] (https://api.flutter.dev/flutter/cupertino/CupertinoTextField/placeholderStyle.html) | null |\n\n\n## More examples\n\nYou may find more usage examples [here][2].\n\n![](demo/more-examples.gif)\n\n## Contributing\n\n### Found a bug?\nPlease do not hestitate to report that. This cuuld help improve this package.\n\n### Feature request?\nPlease feel free to create an issue.\n\n### Pull request?\nContributors are welcome. Just create a PR and it would be reviewed and merged ASAP.\n\nIf you enjoy using this package or it helps you or your team, you could also buy me a cup of coffee to show support :)\n\nhttps://PayPal.Me/hkhenryleung/50\n\n## License\n\nThis project is licensed under the [MIT License](https://opensource.org/licenses/mit-license.html).\n\n[1]: https://github.com/flutter/flutter/issues/12920\n[2]: https://github.com/henryleunghk/flutter-native-text-input/blob/master/example/lib/more_use_case_listing_page.dart\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhenryleunghk%2Fflutter-native-text-input","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhenryleunghk%2Fflutter-native-text-input","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhenryleunghk%2Fflutter-native-text-input/lists"}