Skip to content

CS6/flutter_device_preview

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Device Preview for Flutter

Approximate how your app looks and performs on another device.

Device Preview for Flutter

Features

  • Preview any device from any device
  • Change device orientation
  • Dynamic system configuration : language, dark mode, text scaling factor
  • Freeform device with adjustable resolution and safe areas
  • Keep the application state
  • Take screenshots

Quickstart

void main() => runApp(
  DevicePreview(
    builder: (context) => MyApp(),
  ),
);
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      locale: DevicePreview.of(context).locale, // <--- Add the locale 
      builder: DevicePreview.appBuilder, // <--- Add the builder 
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

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.

FAQ

Can I use device preview with Desktop embedding ?

Yes, you just have to add thoses dependencies in your pubspec.yaml :

device_preview:
path_provider_fde:
  git:
    url: https://github.com/google/flutter-desktop-embedding/
    path: plugins/flutter_plugins/path_provider_fde

Ideas and roadmap

  • Status bar
  • Override WidgetsBinding
    • Simulate physical button
    • Simulate lifecycle events
  • Storage explorer
  • Add custom devices state
  • Desktop devices
  • TV devices
  • Complete documentation

About

Approximate how your app looks and performs on another device.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Dart 87.8%
  • Ruby 6.8%
  • Objective-C 2.0%
  • Java 1.3%
  • Swift 1.1%
  • Shell 0.5%
  • Other 0.5%