squircle_avatar 1.0.1 copy "squircle_avatar: ^1.0.1" to clipboard
squircle_avatar: ^1.0.1 copied to clipboard

A modern, customizable Squircle Avatar and shape widget for Flutter with status badges, gradients, and smooth superellipse curves.

example/lib/main.dart

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

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

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Squircle Package Demo',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: const Color(0xFF8B5CF6)),
        useMaterial3: true,
      ),
      home: const SquircleHomeScreen(),
    );
  }
}

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

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: const Color(0xFFF8FAFC),
      appBar: AppBar(
        title: const Text('Squircle Demo'),
        centerTitle: true,
        actions: [
          Padding(
            padding: const EdgeInsets.only(right: 16.0),
            child: SquircleAvatar(
              size: 40,
              initials: 'A',
              backgroundColor: const Color(0xFF8B5CF6),
              showBadge: true,
              badgeColor: const Color(0xFF4CAF50),
              onTap: () {
                ScaffoldMessenger.of(context).showSnackBar(
                  const SnackBar(content: Text('Avatar tapped!')),
                );
              },
            ),
          ),
        ],
      ),
      body: SingleChildScrollView(
        padding: const EdgeInsets.all(20.0),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            const Text(
              'Squircle Avatars with Initials & Badges',
              style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold),
            ),
            const SizedBox(height: 16),
            const Wrap(
              spacing: 16,
              runSpacing: 16,
              children: [
                SquircleAvatar(
                  size: 56,
                  initials: 'A',
                  backgroundColor: Color(0xFF8B5CF6),
                  showBadge: true,
                  badgeColor: Color(0xFF4CAF50),
                ),
                SquircleAvatar(
                  size: 56,
                  initials: 'JD',
                  backgroundColor: Color(0xFFEC4899),
                  showBadge: true,
                  badgeColor: Color(0xFFF59E0B),
                ),
                SquircleAvatar(
                  size: 56,
                  initials: 'MK',
                  gradient: LinearGradient(
                    colors: [Color(0xFF3B82F6), Color(0xFF06B6D4)],
                  ),
                  showBadge: true,
                  badgeColor: Color(0xFFEF4444),
                ),
              ],
            ),
            const SizedBox(height: 32),
            const Text(
              'Squircle Container with Elevation & Gradient',
              style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold),
            ),
            const SizedBox(height: 16),
            SquircleContainer(
              width: double.infinity,
              padding: const EdgeInsets.all(20),
              gradient: const LinearGradient(
                colors: [Color(0xFF8B5CF6), Color(0xFF6366F1)],
                begin: Alignment.topLeft,
                end: Alignment.bottomRight,
              ),
              boxShadow: [
                BoxShadow(
                  color: const Color(0xFF8B5CF6).withValues(alpha: 0.3),
                  blurRadius: 16,
                  offset: const Offset(0, 8),
                ),
              ],
              child: const Column(
                crossAxisAlignment: CrossAxisAlignment.start,
                children: [
                  Text(
                    'Premium Squircle Card',
                    style: TextStyle(
                      color: Colors.white,
                      fontSize: 18,
                      fontWeight: FontWeight.bold,
                    ),
                  ),
                  SizedBox(height: 8),
                  Text(
                    'Smooth superellipse corners designed for modern iOS and Android UIs.',
                    style: TextStyle(color: Colors.white70, fontSize: 14),
                  ),
                ],
              ),
            ),
          ],
        ),
      ),
    );
  }
}
0
likes
160
points
91
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A modern, customizable Squircle Avatar and shape widget for Flutter with status badges, gradients, and smooth superellipse curves.

Repository (GitHub)
View/report issues

Topics

#avatar #squircle #ui #widget #shape

License

MIT (license)

Dependencies

flutter

More

Packages that depend on squircle_avatar