搜索插件、代码仓与 APP 分类

GitHub 代码仓zeshuaro/device_preview_plus

device_preview_plus

近似预览您的应用在另一台设备上的外观和性能

device_preview_plus 项目封面
星标
19
复刻
15
最近推送(UTC)
2026年9月19日
项目状态
未归档

原始 README

以下为英文项目原文快照,最新内容请访问 GitHub。

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.

Joshua Tang GitHub avatar
GitHub 作者

Joshua Tang ↗

语言DartC++CMakeRubyCSwiftHTMLKotlinObjective-C

分类

此仓库发布的插件

使用的依赖

依赖清单 14 项

如何选择适合项目的代码仓?

先按使用场景筛选,再比较项目活跃情况,最后到原始仓库核对使用要求。

  1. 通过仓库名、作者或描述搜索,再按技术分类缩小范围。
  2. 结合星标、复刻与最近推送比较项目;星标反映社区关注,不代表质量保证。
  3. 使用前在 GitHub 核对 README、许可证与 Issues。

来源与维护

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗