picolo 1.2.0 copy "picolo: ^1.2.0" to clipboard
picolo: ^1.2.0 copied to clipboard

Zero-dependency customizable dialog picker widget for Flutter application.

example/lib/main.dart

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

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

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

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Picolo Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const Home(),
    );
  }
}

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

  @override
  State<Home> createState() => _HomeState();
}

class _HomeState extends State<Home> {
  final PicoloController<num> picoloController = PicoloController();
  num? selectedValue;

  @override
  void initState() {
    selectedValue = picoloController.selectedValue;
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            SizedBox(
              width: 200,
              child: Picolo<num>(
                items: const [
                  PicoloItem(label: 'One', value: 1),
                  PicoloItem(label: 'Two', value: 2),
                  PicoloItem(label: 'Three', value: 3),
                ],
                controller: picoloController,
                onSelect: (value) {
                  setState(() {
                    selectedValue = value;
                  });
                },
                pickerInputDecoration: const InputDecoration(
                  label: Text("Test Picker"),
                  border: OutlineInputBorder(),
                ),
                removeSelectionOnReselect: true,
              ),
            ),
            const SizedBox(height: 8.0),
            Text('Picked Value (Controller): ${picoloController.selectedValue}'),
            Text('Picked Value (Local State): $selectedValue'),
          ],
        ),
      ),
    );
  }
}
1
likes
150
pub points
0%
popularity

Publisher

unverified uploader

Zero-dependency customizable dialog picker widget for Flutter application.

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (LICENSE)

Dependencies

flutter

More

Packages that depend on picolo