based_avatar 1.0.2 copy "based_avatar: ^1.0.2" to clipboard
based_avatar: ^1.0.2 copied to clipboard

A Based Widget For Building More Useful Avatar

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:based_avatar/based_avatar.dart';
import 'package:based_list/based_list.dart';

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

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

  @override
  State<MainApp> createState() => _MainAppState();
}

class _MainAppState extends State<MainApp> {
  late bool _isDark = true;

  void changeThemeMode() => setState(() => _isDark = !_isDark);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Based Avatar Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(
          seedColor: Colors.deepPurple,
        ),
        useMaterial3: true,
      ),
      darkTheme: ThemeData(
        colorScheme: ColorScheme.fromSeed(
          brightness: Brightness.dark,
          seedColor: Colors.deepPurple,
        ),
        useMaterial3: true,
      ),
      themeMode: _isDark ? ThemeMode.dark : ThemeMode.light,
      home: Scaffold(
        appBar: AppBar(
          elevation: 1,
          title: const Text(
            'Based Avatar',
          ),
          actions: [
            IconButton(
              onPressed: changeThemeMode,
              icon: const Icon(
                Icons.color_lens_outlined,
              ),
            )
          ],
        ),
        body: BasedListView(
          children: [
            BasedListSection(
              children: [
                const BasedListTile(
                  leading: BasedAvatar(),
                  titleText: 'Simple BasedAvatar',
                  trailingIcon: null,
                ),
                const BasedListTile(
                  leading: BasedAvatar(
                    placeholder: Text('RC'),
                  ),
                  titleText: 'With Placeholder',
                  trailingIcon: null,
                ),
                const BasedListTile(
                  leading: BasedAvatar(
                    image: NetworkImage(
                      'https://docs.flutter.dev/assets/images/dash/dash-fainting.gif',
                    ),
                  ),
                  titleText: 'With NetworkImage',
                  trailingIcon: null,
                ),
                const BasedListTile(
                  leading: BasedAvatar(
                    image: NetworkImage(
                      'https://avatars.githubusercontent.com/u/29329988',
                    ),
                    badge: Badge(backgroundColor: Colors.green),
                  ),
                  titleText: 'With Customizable Badge',
                  trailingIcon: null,
                ),
                BasedListTile(
                  leading: Builder(
                    builder: (context) {
                      return BasedAvatar(
                        onTap: () => ScaffoldMessenger.of(context).showSnackBar(
                          const SnackBar(content: Text('onTap')),
                        ),
                        onDoubleTap: () =>
                            ScaffoldMessenger.of(context).showSnackBar(
                          const SnackBar(content: Text('onDoubleTap')),
                        ),
                        onLongPress: () =>
                            ScaffoldMessenger.of(context).showSnackBar(
                          const SnackBar(content: Text('onLongPress')),
                        ),
                      );
                    },
                  ),
                  titleText: 'With Gesture (tap, double tap, long press)',
                  trailingIcon: null,
                ),
              ],
            )
          ],
        ),
      ),
    );
  }
}
1
likes
0
pub points
0%
popularity

Publisher

verified publishernote-of-me.top

A Based Widget For Building More Useful Avatar

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter

More

Packages that depend on based_avatar