Search packages, repositories and app categories

Package detailsv2.9.9

device_preview_plus

Approximate how your Flutter app looks and performs on another device

AndroidiOSWebmacOSWindowsLinux
30-day downloads
13.7K
Likes
75
Pub points
150

Install package

flutter pub add device_preview_plus

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

Device Preview Plus allows developers to simulate how their Flutter app appears and behaves on different devices directly within the development environment. It provides accurate device-specific rendering, including screen size, orientation, and platform-specific UI behaviors. The package supports multiple platforms—Android, iOS, Web, macOS, Windows, and Linux—making it ideal for cross-platform testing. With real-time preview adjustments and customizable device profiles, it streamlines UI validation without requiring physical devices.

Use cases

  • Testing responsive layouts across devices
  • Validating UI consistency on various screen sizes
  • Simulating device-specific behaviors during development
  • Quickly switching between device profiles
  • Previewing app appearance on different operating systems

Key features

  • Real-time device simulation
  • Support for all major platforms
  • Customizable device profiles
  • Orientation and scale adjustments
  • Integration with Flutter's dev tools
  • Cross-platform UI testing

Suitable for

  • Flutter developers building cross-platform apps
  • Teams needing rapid UI validation
  • Designers collaborating with developers
  • Projects requiring consistent device previews

Considerations

  • May impact performance in large projects
  • Requires manual configuration for custom devices
  • Limited to visual simulation (not full runtime testing)
  • Not a substitute for physical device testing
  • Best used during development, not production

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

Device Preview for Flutter

pub package docs MIT License GitHub Actions Codacy Badge style: flutter_lints

Github-sponsors BuyMeACoffee Ko-Fi LiberaPay Patreon PayPal

This is a fork of device_preview to keep it up to date with newer Flutter versions.

For users migrating from the device_preview package the only changes required are changing your pubspec.yaml file to point to device_preview_plus and changing any import statements to point to the updated package:device_preview_plus\device_preview_plus.dart.

Device Preview for Flutter

Approximate how your app looks and performs on another device. 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

Getting Started

Add this to your project's pubspec.yaml file:

dependencies:
  device_preview_plus: ^2.9.4

Usage

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.

import 'package:device_preview_plus/device_preview_plus.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(),
    );
  }
}

Demo

Open the demo

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.

Categories

Dependencies

Dependency list 7 items

Source repository

Projects using this package