multiavatar_plus 0.2.0+1 copy "multiavatar_plus: ^0.2.0+1" to clipboard
multiavatar_plus: ^0.2.0+1 copied to clipboard

Multiavatar is a multicultural avatar maker. 12 billion unique multicultural avatars

example/lib/main.dart

import 'dart:developer';

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_svg/svg.dart';
import 'package:multiavatar_plus/multiavatar_plus.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'MultiAvatar example',
      theme: ThemeData.from(
          colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple)),
      home: MyHomePage(title: 'MultiAvatar example'),
    );
  }
}

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

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  String _avatarSvg = '';
  void _generateAvatar() {
    ///The svg code
    log(multiavatar(DateTime.now().toIso8601String()));
    setState(() {
      _avatarSvg = multiavatar(DateTime.now().toIso8601String());
    });
  }

  @override
  void initState() {
    super.initState();
    _generateAvatar();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      floatingActionButton: FloatingActionButton.extended(
        onPressed: _generateAvatar,
        tooltip: 'Generate',
        icon: Icon(Icons.gesture),
        label: Text('Generate'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            SvgPicture.string(
              _avatarSvg,
              height: 200,
              width: 200,
            ),
            SizedBox(height: 20),
            Expanded(
              child: Padding(
                padding: const EdgeInsets.all(8.0),
                child: InkWell(
                  borderRadius: BorderRadius.circular(12),
                  highlightColor: Colors.deepPurple.withValues(alpha: 0.1),
                  overlayColor: WidgetStateProperty.all(
                      Colors.deepPurple.withValues(alpha: 0.1)),
                  onTap: () {
                    Clipboard.setData(ClipboardData(text: _avatarSvg));
                    ScaffoldMessenger.of(context).showSnackBar(
                      SnackBar(content: Text('SVG code copied to clipboard')),
                    );
                  },
                  child: Container(
                    padding: const EdgeInsets.all(8.0),
                    decoration: BoxDecoration(
                      color: Colors.deepPurple.withValues(alpha: 0.05),
                      borderRadius: BorderRadius.circular(12),
                    ),
                    child: Text(_avatarSvg, textAlign: TextAlign.center),
                  ),
                ),
              ),
            ),
            SizedBox(height: 20),
          ],
        ),
      ),
    );
  }
}
1
likes
150
points
41
downloads

Documentation

Documentation
API reference

Publisher

verified publishernemr.dev

Weekly Downloads

Multiavatar is a multicultural avatar maker. 12 billion unique multicultural avatars

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

crypto, flutter

More

Packages that depend on multiavatar_plus