dynamic_multicheckbox 0.0.7 copy "dynamic_multicheckbox: ^0.0.7" to clipboard
dynamic_multicheckbox: ^0.0.7 copied to clipboard

A highly customizable Flutter widget for creating dynamic multi-select checklists with drag-to-resize, add/edit/delete capabilities, and real-time callbacks.

example/lib/main.dart

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

void main() {
  runApp(const MyApp());
}

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Dynamic Multi-Check Demo',
      theme: ThemeData(primarySwatch: Colors.blue, useMaterial3: true),
      home: const DemoScreen(),
    );
  }
}

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

  @override
  Widget build(BuildContext context) {
    final config = {
      "title": "Survey Items",
      "color": "#eb5234",
      "scrollable": "yes",
      "height": "300",
      "allowAdd": "true",
      "allowEdit": "true",
      "data": [
        {"id": 1, "key": "Clean Water", "value": "Available", "checked": true},
        {
          "id": 2,
          "key": "Electricity",
          "value": "Not Available",
          "checked": false,
        },
        {"id": 3, "key": "Internet", "value": "Available", "checked": false},
      ],
    };

    return Scaffold(
      appBar: AppBar(
        title: const Text('Dynamic Multi-Check Widget'),
        elevation: 2,
      ),
      body: Padding(
        padding: const EdgeInsets.all(16.0),
        child: DynamicMultiCheckWidget(
          config: config,
          onDataChanged: ({required allItems, required currentHeight}) {
            debugPrint("\n🔔 Full Data Changed:");
            debugPrint("Total Items: ${allItems.length}");
            debugPrint("Height: $currentHeight");
          },
          onCheckedItemsChanged:
              ({required checkedItems, required currentHeight}) {
                debugPrint("\n✅ Checked Items Changed:");
                debugPrint("Checked Count: ${checkedItems.length}");
                debugPrint("Data: $checkedItems");
              },
        ),
      ),
    );
  }
}
2
likes
150
points
214
downloads

Publisher

unverified uploader

Weekly Downloads

A highly customizable Flutter widget for creating dynamic multi-select checklists with drag-to-resize, add/edit/delete capabilities, and real-time callbacks.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on dynamic_multicheckbox