Buscar pacotes, repositórios e categorias de apps

Capa de lindi_sticker_widget
Detalhes do pacotev1.1.0

lindi_sticker_widget

O widget Lindi Sticker é um plugin do Flutter para girar, rotacionar, redimensionar, mover, excluir e editar qualquer widget.

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
1,6 mil
Curtidas
54
Pontos Pub
150

Instalar pacote

flutter pub add lindi_sticker_widget

Visão geral do pacote

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

O Lindi Sticker Widget é um plugin do Flutter que permite a manipulação interativa de qualquer widget, permitindo aos usuários girar, rotacionar, redimensionar, mover, excluir e editar widgets dinamicamente. Projetado para interação intuitiva com o usuário, ele aumenta a flexibilidade da interface ao transformar widgets em elementos arrastáveis e transformáveis. Ideal para aplicações que exigem posicionamento dinâmico de conteúdo, como quadros brancos digitais, ferramentas de design ou aplicativos educativos interativos. O plugin suporta múltiplas plataformas, incluindo Android, iOS, Web, macOS, Windows e Linux, garantindo consistência entre plataformas.

Casos de uso

  • Aplicações de quadro branco interativo
  • Ferramentas de design e anotação digital
  • Aplicativos educacionais com elementos móveis
  • Interfaces de conteúdo gerado pelo usuário
  • plataformas de edição colaborativa

Principais recursos

  • Movimentação de widget por arrastar e soltar
  • Rotação e escalonamento em tempo real
  • Gire e edite o conteúdo do widget
  • Excluir ou remover widgets interativamente
  • Suporte multiplataforma em todos os principais SO

Indicado para

  • Desenvolvedores de interfaces interativas
  • Criadores de ferramentas de design
  • desenvolvedores de aplicativos educacionais
  • Construtores colaborativos de aplicativos
  • entusiastas de prototipagem de UI

Considerações

  • Pode exigir otimização de desempenho para layouts complexos
  • Documentação disponível limitada
  • Complexidade potencial no gerenciamento de estado para muitos widgets
  • Não é ideal para interfaces estáticas ou somente leitura
  • Requer manipulação cuidadosa de conflitos de gestos

README original

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

lindi_sticker_widget

Features

  Rotate
  Resize
  Move
  Layer Update (Change Stack position)
  Edit
  Delete
  Flip
  Lock

Getting started

pub package

Add this to dependencies in your app's pubspec.yaml

lindi_sticker_widget : latest_version

Usage

Sample code to integrate can be found in example/lib/main.dart.

LindiController

Customize the controller as you like!

LindiController controller = LindiController(
  borderColor: Colors.white,
  icons: [
    LindiStickerIcon(
        icon: Icons.done,
        alignment: Alignment.topRight,
        onTap: () {
          controller.selectedWidget!.done();
        }),
    LindiStickerIcon(
        icon: Icons.lock_open,
        lockedIcon: Icons.lock,
        alignment: Alignment.topCenter,
        type: IconType.lock,
        onTap: () {
          controller.selectedWidget!.lock();
        }),
    LindiStickerIcon(
        icon: Icons.close,
        alignment: Alignment.topLeft,
        onTap: () {
          controller.selectedWidget!.delete();
        }),
    LindiStickerIcon(
        icon: Icons.edit,
        alignment: Alignment.centerLeft,
        onTap: () {
          controller.selectedWidget!
              .edit(const Icon(Icons.star, size: 50, color: Colors.yellow));
        }),
    LindiStickerIcon(
        icon: Icons.layers,
        alignment: Alignment.centerRight,
        onTap: () {
          controller.selectedWidget!.stack();
        }),
    LindiStickerIcon(
        icon: Icons.flip,
        alignment: Alignment.bottomLeft,
        onTap: () {
          controller.selectedWidget!.flip();
        }),
    LindiStickerIcon(
        icon: Icons.crop_free,
        alignment: Alignment.bottomRight,
        type: IconType.resize
    ),
  ],
);
Integrate LindiStickerWidget
LindiStickerWidget(
    controller: controller,
    child: SizedBox(
        width: double.infinity,
        height: double.infinity,
        child: Image.network('https://picsum.photos/200/300', fit: BoxFit.cover)
    ),
)
Add Widget to LindiStickerWidget
controller.add(
    Text('Hello World')
);
Get index of selected widget
controller.onPositionChange((index) {
  print("widgets size: ${controller.widgets.length}, current index: $index");
});
Save LindiStickerWidget as Uint8List
Uint8List? image = await controller.saveAsUint8List();

Screenshots

Image Image

:heart: Found this project useful?

If you found this project useful, then please consider giving it a :star: on Github and sharing it with your friends via social media.

Categorias

Dependências

Lista de dependências 1 itens

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.