Pakete, Repositories und App-Kategorien suchen

Cover von ripple_wave
Paketdetailsv0.1.5

ripple_wave

Einfache und benutzerfreundliche Wellenanimation, die in Widgets eingebettet werden kann, um schöne Welleneffekte zu erzeugen

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
1840
Likes
67
Pub-Punkte
150

Paket installieren

flutter pub add ripple_wave

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

RippleWave ist ein leichtgewichtiges Flutter-Paket, das Entwicklern ermöglicht, nahtlos anpassbare Wellenanimationen für jedes Widget hinzuzufügen. Es unterstützt berührungsbasierte Welleneffekte mit konfigurierbaren Farben, Größen und Dauer, wodurch es ideal für Schaltflächen, Karten oder interaktive Elemente ist. Das Paket wurde auf Einfachheit ausgelegt und erfordert nur minimale Einrichtung, während es dennoch visuell ansprechende Ergebnisse auf allen wichtigen Plattformen liefert. Es integriert sich nahtlos in bestehende Benutzeroberflächen und verbessert die Benutzerreaktion durch dynamische visuelle Rückmeldungen.

Anwendungsfälle

  • Ripple-Effekte zu Schaltflächen hinzufügen
  • Verbesserung der Berührungsrückmeldung in Apps
  • Interaktive Benutzeroberflächenelemente erstellen
  • Verbesserung der visuellen Ansprache in Dashboards
  • Animation von Karten-Taps
  • Entwurf moderner App-Oberflächen

Hauptmerkmale

  • Einfache Integration mit Widgets
  • Anpassbare Wellenfarbe und -größe
  • Glatte Animationsleistung
  • Plattformübergreifende Unterstützung
  • Konfigurierbare Dauer und Verzögerung
  • Berührungsbasierte Wellenauslösung

Geeignet für

  • UI-Designer, die auf visuelle Perfektion abzielen
  • Entwickler interaktiver Apps
  • Projekte, die subtile Feedback-Effekte erfordern
  • Mobile und Web-Anwendungen mit Touch-Oberflächen
  • Teams, die schnelle Implementierung priorisieren

Hinweise

  • Kann die Leistung auf Low-End-Geräten beeinträchtigen
  • Begrenzte Anpassungsmöglichkeiten außerhalb grundlegender Welleneigenschaften
  • Nicht geeignet für komplexe Animationen
  • Erfordert manuelle Behandlung von Gestenereignissen
  • Am besten sparsam verwenden, um visuelle Überlastung zu vermeiden
  • Abhängig von plattformspezifischen Rendering-Verhalten

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

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',
            ),
          ),
        ],
      ),
    );
  }
}

Kategorien

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.