glass_fish_button 0.1.2 copy "glass_fish_button: ^0.1.2" to clipboard
glass_fish_button: ^0.1.2 copied to clipboard

A glassmorphism-inspired Flutter button widget with switchable light and dark themes.

example/lib/main.dart

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

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

class _DemoApp extends StatefulWidget {
  const _DemoApp();

  @override
  State<_DemoApp> createState() => _DemoAppState();
}

class _DemoAppState extends State<_DemoApp> {
  GlassFishButtonBrightness _brightness = GlassFishButtonBrightness.light;

  @override
  Widget build(BuildContext context) {
    final bool isDark = _brightness == GlassFishButtonBrightness.dark;

    return MaterialApp(
      debugShowCheckedModeBanner: false,
      themeMode: isDark ? ThemeMode.dark : ThemeMode.light,
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.blueAccent),
        useMaterial3: true,
      ),
      darkTheme: ThemeData(
        brightness: Brightness.dark,
        colorScheme: ColorScheme.fromSeed(
          seedColor: const Color(0xFF0A84FF),
          brightness: Brightness.dark,
        ),
        useMaterial3: true,
      ),
      home: Scaffold(
        backgroundColor: isDark
            ? const Color(0xFF10131A)
            : const Color(0xFFF6F7FB),
        body: Center(
          child: Column(
            mainAxisSize: MainAxisSize.min,
            children: <Widget>[
              GlassFishButton(
                label: 'Download for Mac',
                brightness: _brightness,
                onPressed: () {},
              ),
              const SizedBox(height: 28),
              SegmentedButton<GlassFishButtonBrightness>(
                segments: const <ButtonSegment<GlassFishButtonBrightness>>[
                  ButtonSegment(
                    value: GlassFishButtonBrightness.light,
                    label: Text('Light'),
                  ),
                  ButtonSegment(
                    value: GlassFishButtonBrightness.dark,
                    label: Text('Dark'),
                  ),
                ],
                selected: <GlassFishButtonBrightness>{_brightness},
                onSelectionChanged: (Set<GlassFishButtonBrightness> value) {
                  setState(() => _brightness = value.first);
                },
              ),
            ],
          ),
        ),
      ),
    );
  }
}
1
likes
145
points
18
downloads

Publisher

unverified uploader

Weekly Downloads

A glassmorphism-inspired Flutter button widget with switchable light and dark themes.

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

flutter

More

Packages that depend on glass_fish_button