flutter_bouncing_widgets 1.0.3 copy "flutter_bouncing_widgets: ^1.0.3" to clipboard
flutter_bouncing_widgets: ^1.0.3 copied to clipboard

Flutter Bouncing Widgets | Bounceable Flutter Widget Kit | by APPISM

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:flutter_bouncing_widgets/flutter_bouncing_widgets.dart';

void main() => runApp(const Example());

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Bouncing Widgets',
      home: Builder(builder: (context) {
        return Scaffold(
          appBar: AppBar(
            title: const Text('Flutter Bouncing Widgets'),
          ),
          body: SizedBox(
            width: double.infinity,
            height: MediaQuery.of(context).size.height,
            child: Column(
              mainAxisAlignment: MainAxisAlignment.start,
              crossAxisAlignment: CrossAxisAlignment.center,
              children: [
                const SizedBox(height: 20),
                BounceElevatedButton(
                  onPressed: () =>
                      showSnackBar(context, 'Clicked BounceElevatedButton'),
                  color: Colors.red,
                  borderRadius: BorderRadius.circular(10),
                  child: const Text(
                    'Bounce Elevated Button',
                    style: TextStyle(
                      color: Colors.white,
                      fontSize: 16,
                      fontWeight: FontWeight.bold,
                    ),
                  ),
                ),
                const SizedBox(height: 20),
                BounceTextButton(
                  onPressed: () =>
                      showSnackBar(context, 'Clicked BounceTextButton'),
                  child: Text('Bounce Text Button'),
                ),
                const SizedBox(height: 20),
                BounceCircleAvatar(
                  onPressed: () =>
                      showSnackBar(context, 'Clicked BounceCircleAvatar'),
                  backgroundColor: Colors.red.withOpacity(0.1),
                  child: const Icon(Icons.add, color: Colors.red),
                ),
                const SizedBox(height: 20),
                Padding(
                  padding: const EdgeInsets.all(20),
                  child: BounceCard(
                    onPressed: () =>
                        showSnackBar(context, 'Clicked BounceCard'),
                    child: Row(
                      mainAxisAlignment: MainAxisAlignment.center,
                      children: [
                        Expanded(
                          flex: 1,
                          child: Container(
                            height: 100,
                            color: Colors.red.withOpacity(0.1),
                            child: const Icon(
                              Icons.person,
                              color: Colors.red,
                            ),
                          ),
                        ),
                        const Expanded(
                          flex: 2,
                          child: SizedBox(
                            height: 100,
                            child: Padding(
                              padding: EdgeInsets.symmetric(horizontal: 20),
                              child: Center(
                                child: Text(
                                  "Bounce Card is a widget that can be used to create a card that can be clicked and bounce on click",
                                ),
                              ),
                            ),
                          ),
                        ),
                      ],
                    ),
                  ),
                ),
                const SizedBox(height: 20),
                const Text(
                  "List Example",
                  style: TextStyle(
                    fontSize: 20,
                    fontWeight: FontWeight.bold,
                  ),
                ),
                const SizedBox(height: 20),
                Expanded(
                  child: ListView.separated(
                    physics: const BouncingScrollPhysics(),
                    itemCount: 20,
                    separatorBuilder: (context, index) =>
                        const SizedBox(height: 20),
                    itemBuilder: (context, index) {
                      return CustomBounceWidget(
                        onPressed: () =>
                            showSnackBar(context, 'Clicked Card $index'),
                        isScrollable: true,
                        child: Card(
                          color: Colors.redAccent,
                          elevation: 10,
                          child: Padding(
                            padding: const EdgeInsets.all(50),
                            child: Center(
                              child: Text("Item $index"),
                            ),
                          ),
                        ),
                      );
                    },
                  ),
                )
              ],
            ),
          ),
        );
      }),
    );
  }

  void showSnackBar(BuildContext context, String text) {
    ScaffoldMessenger.of(context).showSnackBar(SnackBar(content: Text(text)));
  }

  Widget extensionExample() {
    return Container().bounce(
      onPressed: () {},
    );
  }
}
8
likes
140
points
108
downloads

Publisher

verified publisherappism.dev

Weekly Downloads

Flutter Bouncing Widgets | Bounceable Flutter Widget Kit | by APPISM

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on flutter_bouncing_widgets