AI prompts
base on Approximate how your app looks and performs on another device. <p align="center">
<img src="https://github.com/aloisdeniel/flutter_device_preview/raw/master/logo.png" alt="Device Preview for Flutter" />
</p>
<h4 align="center">Approximate how your app looks and performs on another device.</h4>
<p align="center">
<a href="https://pub.dartlang.org/packages/device_preview"><img src="https://img.shields.io/pub/v/device_preview.svg"></a>
<a href="https://www.buymeacoffee.com/aloisdeniel">
<img src="https://img.shields.io/badge/$-donate-ff69b4.svg?maxAge=2592000&style=flat">
</a>
</p>
<p align="center">
<img src="https://github.com/aloisdeniel/flutter_device_preview/raw/master/device_preview.gif" alt="Device Preview for Flutter" />
</p>
## Main features
* Preview any device from any device
* Change the device orientation
* Dynamic system configuration (*language, dark mode, text scaling factor, ...)*
* Freeform device with adjustable resolution and safe areas
* Keep the application state
* Plugin system (*Screenshot, File explorer, ...*)
* Customizable plugins
## Quickstart
### Add dependency to your pubspec file
Since Device Preview is a simple Dart package, you have to declare it as any other dependency in your `pubspec.yaml` file.
```yaml
dependencies:
device_preview: <latest version>
```
### Add DevicePreview
Wrap your app's root widget in a `DevicePreview` and make sure to :
* Set your app's `useInheritedMediaQuery` to `true`.
* Set your app's `builder` to `DevicePreview.appBuilder`.
* Set your app's `locale` to `DevicePreview.locale(context)`.
> Make sure to override the previous properties as described. If not defined, `MediaQuery` won't be simulated for the selected device.
```dart
import 'package:device_preview/device_preview.dart';
void main() => runApp(
DevicePreview(
enabled: !kReleaseMode,
builder: (context) => MyApp(), // Wrap your app
),
);
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
useInheritedMediaQuery: true,
locale: DevicePreview.locale(context),
builder: DevicePreview.appBuilder,
theme: ThemeData.light(),
darkTheme: ThemeData.dark(),
home: const HomePage(),
);
}
}
```
## Documentation
<a href='https://aloisdeniel.github.io/flutter_device_preview/' target='_blank'>Open the website</a>
## Demo
<a href='https://flutter-device-preview.firebaseapp.com/' target='_blank'>Open the demo</a>
## Limitations
Think 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.
> 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.", Assign "at most 3 tags" to the expected json: {"id":"10189","tags":[]} "only from the tags list I provide: []" returns me the "expected json"