{"id":21468985,"url":"https://github.com/ravikovind/adaptive_screen_utils","last_synced_at":"2026-02-09T22:01:55.893Z","repository":{"id":221841857,"uuid":"755535374","full_name":"ravikovind/adaptive_screen_utils","owner":"ravikovind","description":"Flutter Package for creating adaptive UIs for different screen sizes.","archived":false,"fork":false,"pushed_at":"2025-02-15T07:32:47.000Z","size":293,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-22T19:57:12.878Z","etag":null,"topics":["adaptive","adaptive-layouts","adaptive-screen-utils","flutter","flutter-package","flutter-ui","responsive","ui"],"latest_commit_sha":null,"homepage":"https://pub.dev/packages/adaptive_screen_utils","language":"C++","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/ravikovind.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"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}},"created_at":"2024-02-10T14:08:50.000Z","updated_at":"2025-02-15T07:32:51.000Z","dependencies_parsed_at":"2024-06-05T17:10:12.198Z","dependency_job_id":"9ed31167-2ee1-4976-9294-194ee9dda74e","html_url":"https://github.com/ravikovind/adaptive_screen_utils","commit_stats":null,"previous_names":["ravikovind/adaptive_screen_utils"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ravikovind/adaptive_screen_utils","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravikovind%2Fadaptive_screen_utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravikovind%2Fadaptive_screen_utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravikovind%2Fadaptive_screen_utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravikovind%2Fadaptive_screen_utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ravikovind","download_url":"https://codeload.github.com/ravikovind/adaptive_screen_utils/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravikovind%2Fadaptive_screen_utils/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29283028,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-09T21:57:15.303Z","status":"ssl_error","status_checked_at":"2026-02-09T21:57:11.537Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["adaptive","adaptive-layouts","adaptive-screen-utils","flutter","flutter-package","flutter-ui","responsive","ui"],"created_at":"2024-11-23T09:12:16.830Z","updated_at":"2026-02-09T22:01:55.856Z","avatar_url":"https://github.com/ravikovind.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# adaptive_screen_utils\n\n[![pub package](https://img.shields.io/pub/v/adaptive_screen_utils.svg)](https://pub.dartlang.org/packages/adaptive_screen_utils)\n[![Score](https://img.shields.io/pub/points/adaptive_screen_utils?label=Score\u0026logo=dart)](https://pub.dartlang.org/packages/adaptive_screen_utils/score)\n[![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![Platform](https://img.shields.io/badge/Platform-Android%20|%20iOS%20|%20Web%20|%20macOS%20|%20Windows%20|%20Linux%20-blue.svg?logo=flutter)](https://pub.dartlang.org/packages/adaptive_screen_utils)\n![GitHub stars](https://img.shields.io/github/stars/ravikovind/adaptive_screen_utils)\n![GitHub forks](https://img.shields.io/github/forks/ravikovind/adaptive_screen_utils)\n![GitHub issues](https://img.shields.io/github/issues/ravikovind/adaptive_screen_utils)\n![GitHub pull requests](https://img.shields.io/github/issues-pr/ravikovind/adaptive_screen_utils)\n![GitHub contributors](https://img.shields.io/github/contributors/ravikovind/adaptive_screen_utils)\n![GitHub last commit](https://img.shields.io/github/last-commit/ravikovind/adaptive_screen_utils)\n\nA Flutter package to provide Adaptive Screen Utils for creating responsive UI for different screen sizes. Make your UI look great on any device. Easy to manage different screen sizes.\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.youtube.com/watch?feature=player_embedded\u0026v=KYb8aqa6XEY\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://img.youtube.com/vi/KYb8aqa6XEY/0.jpg\" alt=\"Youtube Video\" width=\"480\" height=\"320\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\nThis package is created for educational purposes in Flutter Jaipur Meetup: [ Make your own package publish on pub.dev](https://www.meetup.com/flutterjaipur/events/299009464/).\n\nYou can use it in production as well. It is a simple package that provides a few methods to check the screen size and create a responsive UI based on the screen width, height, and orientation.\n\n### Flutter Jaipur Social Handles\n\n[![LinkedIn](https://img.shields.io/badge/LinkedIn-Flutter%20Jaipur-blue.svg?logo=linkedin)](https://www.linkedin.com/company/flutter-jaipur)\n[![Twitter](https://img.shields.io/badge/Twitter-Flutter%20Jaipur-blue.svg?logo=twitter)](https://twitter.com/Flutter_Jaipur)\n[![Meetup](https://img.shields.io/badge/Meetup-Flutter%20Jaipur-blue.svg?logo=meetup)](https://www.meetup.com/meetup-group-flutterjaipur/)\n[![YouTube](https://img.shields.io/badge/YouTube-Flutter%20Jaipur-blue.svg?logo=youtube)](https://www.youtube.com/@FlutterJaipur)\n\n## Usage\n\nTo use this package, add `adaptive_screen_utils` as a [dependency in your pubspec.yaml file](https://flutter.io/platform-plugins/).\n\n```yaml\ndependencies:\n  adaptive_screen_utils: ^2.4.0\n```\n\n## Example\n\nImport the file to your project\n\n```dart\nimport 'package:adaptive_screen_utils/adaptive_screen_utils.dart';\n```\n\n```dart\nclass MyWidget extends StatelessWidget {\n  @override\n  Widget build(BuildContext context) {\n    final desktop = expanded(context);\n    final tablet = medium(context);\n    return Scaffold(\n      appBar: AppBar(\n        title: Text('Adaptive Screen Utils'),\n      ),\n      body: Builder(\n        builder: (context) {\n         if (desktop) {\n            return Center(\n              child: Text(\n                'Desktop',\n                style: Theme.of(context).textTheme.headline4,\n              ),\n            );\n          } else if (tablet) {\n            return Center(\n              child: Text(\n                'Tablet',\n                style: Theme.of(context).textTheme.headline4,\n              ),\n            );\n          }\n          return Center(\n              child: Text(\n                'Mobile',\n                style: Theme.of(context).textTheme.headline4,\n              ),\n          );\n        },\n      ),\n    );\n  }\n}\n```\n\n## Methods\n\n| Method     | Orientation | Height | Width | DeviceType | Result       |\n| ---------- | ----------- | ------ | ----- | ---------- | ------------ |\n| `wearable` | Portrait    | 450.0  | 450.0 | Watch      | `true`       |\n| `wearable` | Landscape   | 450.0  | 450.0 | Watch      | `true`       |\n| `compact`  | Portrait    | 480.0  | 600.0 | Mobile     | `true`       |\n| `compact`  | Landscape   | 600.0  | 480.0 | Mobile     | `true`       |\n| `medium`   | Portrait    | 900.0  | 840.0 | Tablet     | `true`       |\n| `medium`   | Landscape   | 840.0  | 900.0 | Tablet     | `true`       |\n| `expanded` | Portrait    | 960.0  | 840.0 | Desktop    | `true`       |\n| `expanded` | Landscape   | 840.0  | 960.0 | Desktop    | `true`       |\n| `Type`     | ----------- | ------ | ----- | ---------- | `DeviceType` |\n\n## Disclaimer\n\nThe current approach to determining device types (wearable, compact, medium, and expanded) based on width, height, and orientation is a simple approach. It may not be accurate for all devices.\n\n[https://developer.android.com/develop/ui/views/layout/window-size-classes](https://developer.android.com/develop/ui/views/layout/window-size-classes) is a good reference for understanding the concept of screen size classes. this package is inspired by the above link \u0026 check wearables, compact, medium, and expanded based on width, height, and orientation.\n\n## Issues \u0026 Feedback\n\nIf you wish to contribute to this repo, welcome to [Pull Requests](https://github.com/ravikovind/adaptive_screen_utils/pulls).\nStar ⭐ the repo if you find it useful 🤩🤩. we are open to `enhancements`, `bug-fixes` \u0026 `suggestions`. feel free to open an [issue](https://github.com/ravikovind/adaptive_screen_utils/issues).\n\n## License\n\n```md\nMIT License\n```\n\n## Maintainers \u0026 Collaborators\n\n### [Ravi Kovind](https://ravikovind.github.io/)\n\n### [Flutter Jaipur](https://www.meetup.com/meetup-group-flutterjaipur/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fravikovind%2Fadaptive_screen_utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fravikovind%2Fadaptive_screen_utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fravikovind%2Fadaptive_screen_utils/lists"}