{"id":21599550,"url":"https://github.com/zeshuaro/device_preview_plus","last_synced_at":"2026-05-24T04:04:32.531Z","repository":{"id":260065786,"uuid":"805963278","full_name":"zeshuaro/device_preview_plus","owner":"zeshuaro","description":"Approximate how your app looks and performs on another device","archived":false,"fork":false,"pushed_at":"2026-05-17T01:46:33.000Z","size":118408,"stargazers_count":16,"open_issues_count":12,"forks_count":15,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-17T03:39:24.742Z","etag":null,"topics":["dart","flutter","flutter-plugin"],"latest_commit_sha":null,"homepage":"https://pub.dev/packages/device_preview_plus","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/zeshuaro.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":["zeshuaro"],"ko_fi":"zeshuaro","liberapay":"zeshuaro","patreon":"zeshuaro","custom":["https://www.buymeacoffee.com/zeshuaro","https://paypal.me/JoshuaTang"]}},"created_at":"2024-05-26T01:08:25.000Z","updated_at":"2026-05-17T00:29:16.000Z","dependencies_parsed_at":"2026-04-05T04:02:02.259Z","dependency_job_id":null,"html_url":"https://github.com/zeshuaro/device_preview_plus","commit_stats":null,"previous_names":["zeshuaro/device_preview_plus"],"tags_count":49,"template":false,"template_full_name":null,"purl":"pkg:github/zeshuaro/device_preview_plus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeshuaro%2Fdevice_preview_plus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeshuaro%2Fdevice_preview_plus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeshuaro%2Fdevice_preview_plus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeshuaro%2Fdevice_preview_plus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zeshuaro","download_url":"https://codeload.github.com/zeshuaro/device_preview_plus/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeshuaro%2Fdevice_preview_plus/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33419560,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T22:14:44.296Z","status":"online","status_checked_at":"2026-05-24T02:00:06.296Z","response_time":57,"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":["dart","flutter","flutter-plugin"],"created_at":"2024-11-24T18:15:42.144Z","updated_at":"2026-05-24T04:04:32.519Z","avatar_url":"https://github.com/zeshuaro.png","language":"Dart","funding_links":["https://github.com/sponsors/zeshuaro","https://ko-fi.com/zeshuaro","https://liberapay.com/zeshuaro","https://patreon.com/zeshuaro","https://www.buymeacoffee.com/zeshuaro","https://paypal.me/JoshuaTang","https://liberapay.com/zeshuaro/"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/aloisdeniel/flutter_device_preview/raw/master/logo.png\" alt=\"Device Preview for Flutter\" /\u003e\n\u003c/p\u003e\n\n[![pub package](https://img.shields.io/pub/v/device_preview_plus.svg)](https://pub.dartlang.org/packages/device_preview_plus)\n[![docs](https://img.shields.io/badge/docs-latest-blue.svg)](https://aloisdeniel.github.io/flutter_device_preview)\n[![MIT License](https://img.shields.io/github/license/zeshuaro/device_preview_plus.svg)](https://github.com/zeshuaro/device_preview_plus/blob/main/LICENSE)\n[![GitHub Actions](https://github.com/zeshuaro/device_preview_plus/actions/workflows/github-actions.yml/badge.svg?branch=main\u0026event=push)](https://github.com/zeshuaro/device_preview_plus/actions/workflows/github-actions.yml)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/eb770d6b694640f597e8c0de21117d19)](https://app.codacy.com/gh/zeshuaro/device_preview_plus/dashboard?utm_source=gh\u0026utm_medium=referral\u0026utm_content=\u0026utm_campaign=Badge_grade)\n[![style: flutter_lints](https://img.shields.io/badge/style-flutter__lints-4BC0F5.svg)](https://pub.dev/packages/flutter_lints)\n\n[![Github-sponsors](https://img.shields.io/badge/sponsor-30363D?style=for-the-badge\u0026logo=GitHub-Sponsors\u0026logoColor=#EA4AAA)](https://github.com/sponsors/zeshuaro)\n[![BuyMeACoffee](https://img.shields.io/badge/Buy%20Me%20a%20Coffee-ffdd00?style=for-the-badge\u0026logo=buy-me-a-coffee\u0026logoColor=black)](https://www.buymeacoffee.com/zeshuaro)\n[![Ko-Fi](https://img.shields.io/badge/Ko--fi-F16061?style=for-the-badge\u0026logo=ko-fi\u0026logoColor=white)](https://ko-fi.com/zeshuaro)\n[![LiberaPay](https://img.shields.io/badge/Liberapay-F6C915?style=for-the-badge\u0026logo=liberapay\u0026logoColor=black)](https://liberapay.com/zeshuaro/)\n[![Patreon](https://img.shields.io/badge/Patreon-F96854?style=for-the-badge\u0026logo=patreon\u0026logoColor=white)](https://patreon.com/zeshuaro)\n[![PayPal](https://img.shields.io/badge/PayPal-00457C?style=for-the-badge\u0026logo=paypal\u0026logoColor=white)](https://paypal.me/JoshuaTang)\n\n\u003e This is a fork of [device_preview](https://pub.dev/packages/device_preview) to keep it up to date with newer Flutter versions.\n\nFor users migrating from the `device_preview` package the only changes required are changing your `pubspec.yaml`\nfile to point to `device_preview_plus` and changing any import statements to point to\nthe updated `package:device_preview_plus\\device_preview_plus.dart`.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/aloisdeniel/flutter_device_preview/raw/master/device_preview.gif\" alt=\"Device Preview for Flutter\" /\u003e\n\u003c/p\u003e\n\nApproximate how your app looks and performs on another device. Main features:\n\n* Preview any device from any device\n* Change the device orientation\n* Dynamic system configuration (*language, dark mode, text scaling factor, ...)*\n* Freeform device with adjustable resolution and safe areas\n* Keep the application state\n* Plugin system (*Screenshot, File explorer, ...*)\n* Customizable plugins\n\n## Getting Started\n\nAdd this to your project's `pubspec.yaml` file:\n\n```yml\ndependencies:\n  device_preview_plus: ^2.8.0\n```\n\n## Usage\n\nWrap your app's root widget in a `DevicePreview` and make sure to :\n\n* Set your app's `useInheritedMediaQuery` to `true`.\n* Set your app's `builder` to `DevicePreview.appBuilder`.\n* Set your app's `locale` to `DevicePreview.locale(context)`.\n\n\u003e Make sure to override the previous properties as described. If not defined, `MediaQuery` won't be simulated for the selected device.\n\n```dart\nimport 'package:device_preview_plus/device_preview_plus.dart';\n\nvoid main() =\u003e runApp(\n  DevicePreview(\n    enabled: !kReleaseMode,\n    builder: (context) =\u003e MyApp(), // Wrap your app\n  ),\n);\n\nclass MyApp extends StatelessWidget {\n  @override\n  Widget build(BuildContext context) {\n    return MaterialApp(\n      useInheritedMediaQuery: true,\n      locale: DevicePreview.locale(context),\n      builder: DevicePreview.appBuilder,\n      theme: ThemeData.light(),\n      darkTheme: ThemeData.dark(),\n      home: const HomePage(),\n    );\n  }\n}\n```\n\n## Demo\n\n\u003ca href='https://flutter-device-preview.firebaseapp.com/' target='_blank'\u003eOpen the demo\u003c/a\u003e\n\n## Limitations\n\nThink of Device Preview as a first-order approximation of how your app looks and feels on a mobile device. With Device Mode you don't actually run your code on a mobile device. You simulate the mobile user experience from your laptop, desktop or tablet.\n\n\u003e There are some aspects of mobile devices that Device Preview will never be able to simulate. When in doubt, your best bet is to actually run your app on a real device.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeshuaro%2Fdevice_preview_plus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzeshuaro%2Fdevice_preview_plus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeshuaro%2Fdevice_preview_plus/lists"}