Buscar pacotes, repositórios e categorias de apps

Capa de media_query_preview
Detalhes do pacotev0.1.0

media_query_preview

Este pacote permite visualização de interface em diversos dispositivos e condições, suportando dispositivos personalizados, brilho e escalas de texto. Ideal para desenvolvimento, não para produção.

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
14
Curtidas
3
Pontos Pub
140

Instalar pacote

flutter pub add media_query_preview

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

MediaQueryPreview é uma ferramenta de desenvolvimento que permite visualizações em tempo real da interface em diferentes dispositivos, tamanhos de tela, níveis de brilho e escalas de texto. Ajuda os desenvolvedores a visualizar como seu aplicativo aparecerá em várias configurações sem precisar implantar em dispositivos físicos. O pacote suporta definições personalizadas de dispositivos e foi projetado exclusivamente para fluxos de trabalho de desenvolvimento, não para uso em produção. Integra-se perfeitamente com o MediaQuery do Flutter, permitindo iterações rápidas durante as fases de design e teste.

Casos de uso

  • Testando layouts responsivos
  • Simulando telas de dispositivos diferentes
  • Ajustando as configurações de acessibilidade
  • Validando o comportamento da interface sob várias condições
  • Simplificando o fluxo de trabalho de desenvolvimento da interface

Principais recursos

  • Suporta configurações personalizadas de dispositivo
  • Visualização em tempo real das alterações no tamanho da tela
  • Brilho e escala de texto ajustáveis
  • Compatibilidade multiplataforma
  • Integração fácil com projetos Flutter existentes

Indicado para

  • Desenvolvedores Flutter na fase de design
  • Equipes focadas em interface responsiva
  • Testes de acessibilidade
  • Prototipagem rápida

Considerações

  • Não destinado ao uso em produção
  • Requer configuração manual para dispositivos personalizados
  • Limitado ao ambiente de desenvolvimento
  • Pode afetar o desempenho durante uso intenso
  • Não substitui testes em dispositivos reais

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

pub package GitHub deployments

Have you ever experienced your UI breaking when the font size is too large or the screen size of the device is small? Checking for these issues can be a hassle.

This package allows you to preview how your implemented UI will appear on various devices with different screen sizes, text scales, and brightness.

It was inspired by device_preview.

Media Query Preview

Features

This package provides the following features:

  • Preview your UI on various devices with different screen sizes, text scales, and brightness.
  • In addition to pre-defined devices like PreviewDevice.iPhone5_5inch and PreviewDevice.android6_7inch, you can create custom PreviewDevice instances.
  • Preview your UI when the keyboard is displayed.
  • Manipulate each preview individually.
  • Friendly with riverpod.

Demo

Check out the demo at https://kingu-dev.github.io/media_query_preview.

Usage

If you are using riverpod, you can do the following.

// Initialize Provider
final container = ProviderContainer();

final previewDevices = [
  [
    PreviewDevice.iPhone5_5inch(
      textScaleFactor: 0.5,
    ),
    PreviewDevice.iPhone5_5inch(),
    PreviewDevice.iPhone5_5inch(
      brightness: Brightness.dark,
    ),
    PreviewDevice.iPhone5_5inch(
      textScaleFactor: 1.5,
    ),
  ],
  [
    PreviewDevice.iPhone6_7inch(
      textScaleFactor: 0.5,
    ),
    PreviewDevice.iPhone6_7inch(),
    PreviewDevice.iPhone6_7inch(
      brightness: Brightness.dark,
    ),
    PreviewDevice.iPhone6_7inch(
      textScaleFactor: 1.5,
    ),
  ],
  [
    PreviewDevice.android6_7inch(
      textScaleFactor: 0.5,
    ),
    PreviewDevice.android6_7inch(),
    PreviewDevice.android6_7inch(
      brightness: Brightness.dark,
    ),
    PreviewDevice.android6_7inch(
      textScaleFactor: 1.5,
    ),
  ]
];

runApp(
  MediaQueryPreview(
    previewDevices: previewDevices,
    builder: (_, previewDevice) {
      // If you want to change the theme based on the targetPlatform,
      // you can get the targetPlatform from [previewDevice.targetPlatform].
      return UncontrolledProviderScope(
        container: container,
        child: const MyApp(),
      );
    },
  ),
);

If you are not using riverpod, it is even simpler.

runApp(
  MediaQueryPreview(
    previewDevices: previewDevices,
    builder: (_, previewDevice) {
      // If you want to change the theme based on the targetPlatform,
      // you can get the targetPlatform from [previewDevice.targetPlatform].
      return const MyApp();
    },
  ),
);

Attention

  • It is recommended to use this package only development. Please do not use it in production.
  • This package allows you to display multiple instances of the Widget you implemented at the same time, which may lead to poor performance or issues with state management.
  • If you manage GlobalKey with global variables, they will be shared across each preview, which can lead to errors or unintended behavior. Since the widget trees of each preview are independent, it is recommended to generate a separate GlobalKey for each tree.

Future

If you have Apple Vision Pro, you can use it as a "Designed for iPad" app. This is the future!

Vision Pro

Categorias

Dependências

Lista de dependências 1 itens

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.