circular_selector_v2 0.2.0 copy "circular_selector_v2: ^0.2.0" to clipboard
circular_selector_v2: ^0.2.0 copied to clipboard

Flutter widget which aims to create a novel circular selection technology, made with accessibility and user experience in mind.

example/lib/main.dart

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:circular_selector_v2/circular_selector_v2.dart';

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

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Circular Selector Demo',
      themeMode: ThemeMode.system,
      darkTheme: ThemeData.dark(),
      home: const MyHomePage(title: 'Circular Selector Demo'),
    );
  }
}

class MyHomePage extends StatelessWidget {
  const MyHomePage({super.key, required this.title});

  final String title;

  Function(int) testSelected(int selectorIndex) {
    return (index) {
      if (kDebugMode) {
        print('Selected: $index of selector $selectorIndex');
      }
    };
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(title),
      ),
      body: Center(
        child: Stack(children: [
          Container(
            decoration: const BoxDecoration(
              shape: BoxShape.circle,
            ),
            child: Stack(alignment: Alignment.center, children: [
              CircularSelector(
                onSelected: testSelected(0),
                childSize: 30.0,
                radiusDividend: 2.5,
                customOffset: Offset(
                  0.0,
                  AppBar().preferredSize.height -
                      MediaQuery.of(context).padding.top,
                ),
                circleBackgroundColor: const Color.fromARGB(255, 85, 85, 85),
                children: const [
                  Icon(Icons.person),
                  Icon(Icons.notifications),
                  Icon(Icons.nightlight),
                  Icon(Icons.volume_up),
                  Icon(Icons.wb_sunny),
                  Icon(Icons.settings)
                ],
              ),
              CircularSelector(
                onSelected: testSelected(2),
                childSize: 30.0,
                radiusDividend: 7,
                customOffset: Offset(
                  0.0,
                  AppBar().preferredSize.height -
                      MediaQuery.of(context).padding.top,
                ),
                circleBackgroundColor: const Color.fromARGB(255, 0, 0, 0),
                children: const [Icon(Icons.home_filled), Icon(Icons.logout)],
              ),
            ]),
          ),
        ]),
      ),
    );
  }
}
0
likes
150
pub points
28%
popularity

Publisher

verified publishermatricaldefunkt.me

Flutter widget which aims to create a novel circular selection technology, made with accessibility and user experience in mind.

Documentation

API reference

License

GPL-3.0 (license)

Dependencies

flutter

More

Packages that depend on circular_selector_v2