flipcart_package 0.0.1 copy "flipcart_package: ^0.0.1" to clipboard
flipcart_package: ^0.0.1 copied to clipboard

A flip animation widget for Flutter that allows users to create a flip effect between front and back widgets.

example/lib/main.dart

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

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

class FlipInputApp extends StatelessWidget {
  const FlipInputApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      home: FlipInputScreen(),
    );
  }
}

class FlipInputScreen extends StatefulWidget {
  const FlipInputScreen({super.key});

  @override
  State<FlipInputScreen> createState() => _FlipInputScreenState();
}

class _FlipInputScreenState extends State<FlipInputScreen> {
  String? selectedFront;
  String? selectedBack;

  final List<String> widgetOptions = ['Text', 'ElevatedButton', 'Icon'];

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('FlipCart Widget Picker')),
      body: Padding(
        padding: const EdgeInsets.all(20.0),
        child: Column(
          children: [
            DropdownButtonFormField<String>(
              decoration: const InputDecoration(labelText: 'Front Widget'),
              items: widgetOptions.map((String value) {
                return DropdownMenuItem<String>(
                  value: value,
                  child: Text(value),
                );
              }).toList(),
              onChanged: (val) {
                setState(() {
                  selectedFront = val;
                });
              },
            ),
            const SizedBox(height: 20),
            DropdownButtonFormField<String>(
              decoration: const InputDecoration(labelText: 'Back Widget'),
              items: widgetOptions.map((String value) {
                return DropdownMenuItem<String>(
                  value: value,
                  child: Text(value),
                );
              }).toList(),
              onChanged: (val) {
                setState(() {
                  selectedBack = val;
                });
              },
            ),
            const SizedBox(height: 30),
            Center(
              child: (selectedFront != null && selectedBack != null)
                  ? FlipWidget(
                width: 250,
                height: 250,
                frontWidget: buildWidgetFromSelection(selectedFront!),
                backWidget: buildWidgetFromSelection(selectedBack!),
              )
                  : const Text('Select front and back widgets to preview.'),
            ),
          ],
        ),
      ),
    );
  }

  Widget buildWidgetFromSelection(String selection) {
    switch (selection) {
      case 'Text':
        return const Center(
          child: Text(
            'This is a Text widget',
            style: TextStyle(fontSize: 18, color: Colors.black),
          ),
        );
      case 'ElevatedButton':
        return Center(
          child: ElevatedButton(
            onPressed: () {},
            child: const Text('Press Me'),
          ),
        );
      case 'Icon':
        return const Center(
          child: Icon(Icons.star, size: 50, color: Colors.amber),
        );
      default:
        return const SizedBox.shrink();
    }
  }
}
0
likes
140
points
23
downloads

Publisher

unverified uploader

Weekly Downloads

A flip animation widget for Flutter that allows users to create a flip effect between front and back widgets.

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on flipcart_package