Flutter头像组合展示插件overlay_group_avatar的使用

发布于 1周前 作者 gougou168 来自 Flutter

Flutter头像组合展示插件overlay_group_avatar的使用

插件简介

overlay_group_avatar 是一个Flutter插件,用于水平显示重叠的头像组。该插件允许你自定义头像的形状,并且可以轻松地在应用中实现多头像的组合展示效果。

功能特性

  • 水平显示重叠的头像组:插件支持多个头像在水平方向上重叠显示。
  • 自定义头像形状:你可以根据需要自定义头像的形状,例如圆形、方形等。

示例图片

Screenshot_20210523_194443

使用示例

1. 添加依赖

首先,在你的 pubspec.yaml 文件中添加 overlay_group_avatar 依赖:

dependencies:
  flutter:
    sdk: flutter
  overlay_group_avatar: ^latest_version

2. 完整示例代码

以下是一个完整的示例代码,展示了如何在Flutter应用中使用 overlay_group_avatar 插件来创建一个简单的头像组合展示效果:

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

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

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Colors.blueGrey, // 设置背景颜色
      appBar: AppBar(
        title: Text("Overlap group avatar"), // 设置应用栏标题
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center, // 水平居中对齐
          children: <Widget>[
            // 简单使用 OverlapAvatar
            OverlapAvatar(
              insideRadius: 18, // 内部头像的半径,默认值为20
              outSideRadius: 20, // 外部头像的半径,默认值为24,必须大于 insideRadius
              widthFactor: 0.5, // 头像之间的重叠比例,默认值为0.6
              backgroundImage: NetworkImage(
                'https://www.jessleewong.com/wp-content/uploads/2019/12/jessleewong_20191109_3.jpg', // 头像的网络图片地址
              ),
              backgroundColor: Colors.white, // 背景颜色
            ),
          ],
        ),
      ),
    );
  }
}

更多关于Flutter头像组合展示插件overlay_group_avatar的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter头像组合展示插件overlay_group_avatar的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是如何在Flutter中使用overlay_group_avatar插件来展示头像组合的示例代码。overlay_group_avatar插件通常用于显示多个头像的叠加效果,这在社交应用中非常常见。

首先,确保你已经在pubspec.yaml文件中添加了overlay_group_avatar依赖:

dependencies:
  flutter:
    sdk: flutter
  overlay_group_avatar: ^最新版本号  # 请替换为实际最新版本号

然后,运行flutter pub get来安装依赖。

接下来是一个完整的示例代码,展示如何使用overlay_group_avatar插件:

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Overlay Group Avatar Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Scaffold(
        appBar: AppBar(
          title: Text('Overlay Group Avatar Demo'),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              // 使用 OverlayGroupAvatar 展示头像组合
              OverlayGroupAvatar(
                avatars: [
                  NetworkImage('https://example.com/avatar1.jpg'), // 替换为实际图片URL
                  NetworkImage('https://example.com/avatar2.jpg'), // 替换为实际图片URL
                  NetworkImage('https://example.com/avatar3.jpg'), // 替换为实际图片URL
                ],
                maxSize: 50, // 设置最大头像直径
                count: 3, // 头像总数(如果超过这个数量,会显示“+”号)
                onAvatarTap: (index) {
                  // 点击头像时的回调
                  print('Avatar $index tapped');
                },
              ),
              SizedBox(height: 20),
              // 使用 OverlayGroupAvatar.builder 构建更复杂的头像组合
              OverlayGroupAvatar.builder(
                avatars: List.generate(
                  5,
                  (index) => NetworkImage('https://example.com/avatar${index + 1}.jpg'), // 替换为实际图片URL
                ),
                maxSize: 60, // 设置最大头像直径
                count: 5, // 头像总数(如果超过这个数量,会显示“+”号)
                avatarBuilder: (context, avatar, index) {
                  // 自定义每个头像的样式
                  return CircleAvatar(
                    backgroundImage: avatar,
                    radius: 20, // 自定义头像半径
                  );
                },
                plusBuilder: (context) {
                  // 自定义“+”号样式
                  return Container(
                    decoration: BoxDecoration(
                      color: Colors.grey,
                      borderRadius: BorderRadius.circular(50),
                    ),
                    child: Icon(
                      Icons.add,
                      color: Colors.white,
                      size: 24,
                    ),
                  );
                },
                onAvatarTap: (index) {
                  // 点击头像时的回调
                  print('Avatar $index tapped in builder');
                },
              ),
            ],
          ),
        ),
      ),
    );
  }
}

在这个示例中:

  1. OverlayGroupAvatar组件用于展示一个简单的头像组合。你可以通过avatars属性传递头像列表(NetworkImageAssetImage),maxSize属性设置最大头像直径,count属性设置显示的头像数量(超过这个数量会显示“+”号),onAvatarTap是点击头像时的回调。

  2. OverlayGroupAvatar.builder提供了一个更灵活的方式来构建头像组合,允许你自定义每个头像的样式以及“+”号的样式。

请根据你的需求调整URL和样式。希望这个示例对你有所帮助!

回到顶部