{"id":19880009,"url":"https://github.com/adeeteya/cupertino_height_picker","last_synced_at":"2025-09-18T19:32:41.652Z","repository":{"id":256169372,"uuid":"831999851","full_name":"adeeteya/cupertino_height_picker","owner":"adeeteya","description":"This package offers a seamless Cupertino-style height picker, supporting both centimeters (metric) and feet/inches (imperial), providing versatility and precision for users.","archived":false,"fork":false,"pushed_at":"2024-09-09T10:42:46.000Z","size":4868,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-17T23:54:44.283Z","etag":null,"topics":["cupertino","cupertino-design","cupertino-widgets","dart","dart-package","flutter","flutter-package","flutter-packages","flutter-plugin","input-picker","pub-dev","pub-package"],"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/adeeteya.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-22T06:44:15.000Z","updated_at":"2025-06-09T10:42:48.000Z","dependencies_parsed_at":"2024-09-09T11:44:14.657Z","dependency_job_id":null,"html_url":"https://github.com/adeeteya/cupertino_height_picker","commit_stats":null,"previous_names":["adeeteya/cupertino_height_picker"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/adeeteya/cupertino_height_picker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adeeteya%2Fcupertino_height_picker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adeeteya%2Fcupertino_height_picker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adeeteya%2Fcupertino_height_picker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adeeteya%2Fcupertino_height_picker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adeeteya","download_url":"https://codeload.github.com/adeeteya/cupertino_height_picker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adeeteya%2Fcupertino_height_picker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275820538,"owners_count":25534815,"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-09-18T02:00:09.552Z","response_time":77,"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":["cupertino","cupertino-design","cupertino-widgets","dart","dart-package","flutter","flutter-package","flutter-packages","flutter-plugin","input-picker","pub-dev","pub-package"],"created_at":"2024-11-12T17:09:59.509Z","updated_at":"2025-09-18T19:32:40.530Z","avatar_url":"https://github.com/adeeteya.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🎚️ Cupertino Height Picker Plugin\n\n[![pub package](https://img.shields.io/pub/v/cupertino_height_picker.svg)](https://pub.dev/packages/cupertino_height_picker)\n\nA seamless Cupertino-style height picker widget for Flutter.\nSupports height selection in both centimeters (metric) and feet/inches (imperial), providing versatility and precision for users.\n\n| Imperial System | Metric System | Automatic Unit Conversion |\n| :---: | :---: | :---: |\n| \u003cimg src=\"https://raw.githubusercontent.com/adeeteya/cupertino_height_picker/master/screenshots/imperial_system_demo.gif\" height=\"350px\" alt=\"Imperial System Demo\"\u003e | \u003cimg src=\"https://raw.githubusercontent.com/adeeteya/cupertino_height_picker/master/screenshots/metric_system_demo.gif\" height=\"350px\" alt=\"Metric System Demo\"\u003e | \u003cimg src=\"https://raw.githubusercontent.com/adeeteya/cupertino_height_picker/master/screenshots/unit_convert_demo.gif\" height=\"350px\" alt=\"Unit Conversion Demo\"\u003e |\n\n## Features\n\n- **Automatic Unit Conversion**: Effortlessly switch between centimeters and feet/inches with automatic conversions.\n- **Decimal Value Precision**: Allows for precise height measurements.\n- **Cupertino Styled Number Picker**: A clean, intuitive interface consistent with iOS design.\n- **Light \u0026 Dark Themes:** Built-in support for both light and dark themes, adapting to the user's theme settings.\n\n## Getting started\n\n### 1. Depend on it\n\nAdd this to your package's `pubspec.yaml` file:\n\n```yaml\ndependencies:\n  cupertino_height_picker: ^1.0.1\n```\n\n### 2. Install it\n\nYou can install packages from the command line:\n\n```\n$ flutter pub get\n```\n\n### 3. Import it\n\nNow in your `Dart` code, you can use:\n\n```dart\nimport 'package:cupertino_height_picker/cupertino_height_picker.dart';\n```\n\n## Usage\n\nCall the default showCupertinoHeightPicker Function which always returns the height in centimeters and has automatic unit conversion enabled by default\n\n\n\u003cimg src=\"https://raw.githubusercontent.com/adeeteya/cupertino_height_picker/master/screenshots/usage_1.png\" align = \"right\" height = \"250px\" alt=\"screenshot_1\"\u003e\n\n```dart\nawait showCupertinoHeightPicker(\n  context: context,\n  onHeightChanged: (val) {\n    setState(() {\n      heightInCm = val;\n      });\n  },\n);\n\n\n\n\n```\n\nAllow Height to be input only from metric system\n\n\u003cimg src=\"https://raw.githubusercontent.com/adeeteya/cupertino_height_picker/master/screenshots/usage_2.png\" align = \"right\" height = \"250px\" alt=\"screenshot_2\"\u003e\n\n```dart\nawait showCupertinoHeightPicker(\n  context: context,\n  initialSelectedHeightUnit:HeightUnit.cm,\n  canConvertUnit: false,\n  onHeightChanged: (val) {\n    print(val);\n  },\n);\n\n\n\n\n```\n\nStart from a custom initial height and don't show the separation text between feet and inches\n\n\u003cimg src=\"https://raw.githubusercontent.com/adeeteya/cupertino_height_picker/master/screenshots/usage_3.png\" align = \"right\" height = \"250px\" alt=\"screenshot_3\"\u003e\n\n```dart\nawait showCupertinoHeightPicker(\n  context: context,\n  initialHeight: 185.5,\n  showSeparationText: false,\n  onHeightChanged: (val) {\n    print(val);\n  },\n);\n\n\n\n\n```\n\nCustomize the Look of the Modal to your liking!\n\n\u003cimg src=\"https://raw.githubusercontent.com/adeeteya/cupertino_height_picker/master/screenshots/usage_4.png\" align = \"right\" height = \"250px\" alt=\"screenshot_4\"\u003e\n\n```dart\nawait showCupertinoHeightPicker(\n  context: context,\n  modalHeight: 300,\n  maxModalWidth: 500,\n  modalBackgroundColor: CupertinoColors.systemTeal,\n  barrierColor: CupertinoColors.systemGreen.withOpacity(0.5),\n  onHeightChanged: (val) {\n    print(val);\n  },\n);\n\n\n```\n\n### Parameters\n\n- **context**: (Required) The `BuildContext` object, which is necessary for rendering the height picker within the widget tree.\n\n- **onHeightChanged**: (Required) A callback function that handles height changes when the user scrolls through different height values. The selected height is returned in centimeters.\n\n- **initialHeight**: Sets the default initial height value when the picker is opened. The default is `150.0` cm.\n\n- **initialSelectedHeightUnit**: Specifies the default height unit (either `HeightUnit.inches` or `HeightUnit.cm`) when the picker is opened. The default is `HeightUnit.inches`.\n\n- **canConvertUnit**: A boolean that determines whether the height picker allows conversion between imperial and metric systems. The default is `true`.\n\n- **showSeparationText**: A boolean that controls whether a separation text (e.g., 'feet') or a decimal point text is shown between the two sliders. The default is `true`.\n\n- **modalHeight**: Specifies the height of the modal sheet. The default value is `216.0`.\n\n- **maxModalWidth**: Defines the maximum width of the modal sheet. This is useful for responsiveness on larger screens, such as tablets and laptops. If `null`, the modal takes up the full device width. The default is `null`.\n\n- **modalBackgroundColor**: Defines the background color of the modal sheet. The default is `null`.\n\n- **barrierColor**: Sets the color of the screen behind the modal, allowing for a custom background color with reduced opacity. The default is `kCupertinoModalBarrierColor`.\n\n## Maintainers\n\n[Aditya R](https://www.github.com/adeeteya/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadeeteya%2Fcupertino_height_picker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadeeteya%2Fcupertino_height_picker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadeeteya%2Fcupertino_height_picker/lists"}