Buscar pacotes, repositórios e categorias de apps

Capa de ripple_wave
Detalhes do pacotev0.1.5

ripple_wave

Animação de ondulação simples e fácil de usar que pode ser envolta em widgets para criar belos efeitos de ondulação

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
1,8 mil
Curtidas
67
Pontos Pub
150

Instalar pacote

flutter pub add ripple_wave

Visão geral do pacote

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

RippleWave é um pacote leve do Flutter que permite aos desenvolvedores adicionar facilmente animações suaves e personalizáveis de ondulação a qualquer widget. Ele suporta efeitos de ondulação baseados em toque com cores, tamanhos e durações configuráveis, tornando-o ideal para botões, cartões ou elementos interativos. O pacote foi projetado para simplicidade, exigindo configuração mínima enquanto oferece resultados visualmente atraentes em todas as principais plataformas. Integra-se perfeitamente em interfaces existentes e melhora a resposta do usuário por meio de respostas visuais dinâmicas.

Casos de uso

  • Adicionando efeitos de onda a botões
  • Melhorando o feedback tátil nos aplicativos
  • Criando elementos de interface interativos
  • Melhorar o engajamento visual em painéis
  • Toques animados de cartão
  • Design de interfaces de aplicativos modernos

Principais recursos

  • Integração simples com widgets
  • Cor e tamanho de ondulação personalizáveis
  • Desempenho de animação suave
  • Suporte multiplataforma
  • Duração e atraso configuráveis
  • Disparo de ondulação baseado em toque

Indicado para

  • Designers de interface procurando acabamento visual
  • Desenvolvedores de aplicativos interativos
  • Projetos que exigem efeitos sutis de feedback
  • Aplicações móveis e web com interfaces de toque
  • Equipes priorizando a implementação rápida

Considerações

  • Pode afetar o desempenho em dispositivos de baixa gama
  • Personalização limitada além das propriedades básicas de ondulação
  • Não adequado para animações complexas
  • Requer manipulação manual de eventos de gestos
  • Melhor usado com moderação para evitar aglomeração visual
  • Depende dos comportamentos específicos da plataforma para renderização

README original

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

Simple and easy to use ripple animation that can be wrapped in widgets to create beautiful ripple effects.

Features

Installing

Add ripple_wave to your pubspec.yaml file.

dependencies:
  ripple_wave:

Import ripple_wave in files that it will be used.

import 'package:ripple_wave/ripple_wave.dart';

Usage

To use this package, add ripple_wave as a dependency in your pubspec.yaml file.

Then wrap your desired widget with RippleWave widget to get the ripple animation.

Usage without repeated animation:

class MyHomePage extends StatelessWidget {
  const MyHomePage({Key? key}) : super(key: key);
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: RippleWave(
        color: Colors.green,
        repeat: false,
        child: const Icon(
          Icons.emoji_emotions,
          size: 100,
          color: Colors.white,
        ),
      ),
    );
  }
}

Usage with tween effect on child widget of the RippleWave:

class MyHomePage extends StatelessWidget {
  const MyHomePage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: RippleWave(
        color: Colors.red,
        childTween: Tween(begin: 0.2, end: 1),
        child: const Icon(
          Icons.emoji_emotions,
          size: 100,
          color: Colors.white,
        ),
      ),
    );
  }
}

Usage with animation controller to manually start or stop the animation:

class DemoPage extends StatefulWidget {
  const DemoPage({Key? key}) : super(key: key);

  @override
  State<DemoPage> createState() => _DemoPageState();
}

late AnimationController animationController;

void start() {
  animationController.repeat();
}

void stop() {
  animationController.stop();
}

class _DemoPageState extends State<DemoPage>
    with SingleTickerProviderStateMixin {
  @override
  void initState() {
    animationController = AnimationController(
      duration: const Duration(seconds: 3),
      vsync: this,
    );
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text("Ripple Demo"),
      ),
      body: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          RippleWave(
            childTween: Tween(begin: 0.1, end: 1.0),
            color: Colors.deepPurpleAccent,
            repeat: false,
            animationController: animationController,
            child: const Icon(
              Icons.emoji_emotions,
              size: 100,
              color: Colors.white,
            ),
          ),
          const SizedBox(
            height: 200,
          ),
          TextButton(
            onPressed: () {
              start();
            },
            child: const Text(
              'Start animation',
            ),
          ),
          const SizedBox(
            height: 40,
          ),
          TextButton(
            onPressed: () {
              stop();
            },
            child: const Text(
              'Stop animation',
            ),
          ),
        ],
      ),
    );
  }
}

Categorias

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.