📜  Flutter – 使用 Avatar Glow

📅  最后修改于: 2022-05-13 01:55:35.909000             🧑  作者: Mango

Flutter – 使用 Avatar Glow

Flutter有一个名为avatar_glow的包,它提供了一个带有炫酷背景发光动画的 Avatar Glow Widget。在本文中,我们将通过一个示例来探索同一个包。

执行:

首先,将依赖添加到pubspec.yaml文件中,如下所示:

现在将以下代码导入到您的 main.js 中。dart文件:

import 'package:avatar_glow/avatar_glow.dart';

A. 创建示例代码如下:

Dart
Avatar(
glowColor:Colors.teal,
showTwoGlows:false,
endRadius:80.0,
child: // Any widget(circle avatar , sizedbox etc)
)


Dart
import 'package:avatar_glow/avatar_glow.dart';
import 'package:flutter/material.dart';
  
void main() {
  runApp(Avatarglow());
}
  
class Avatarglow extends StatelessWidget {
  const Avatarglow({Key? key}) : super(key: key);
  
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        appBar: AppBar(
          title: Text("Geeks for Geeks"),
          centerTitle: true,
          backgroundColor: Colors.green,
        ),//AppBar
        body: Center(
          child: AvatarGlow(
            glowColor: Colors.green,
            endRadius: 90.0,
            duration: Duration(milliseconds: 2000),
            repeat: true,
            showTwoGlows: true,
            repeatPauseDuration: Duration(milliseconds: 100),
            child: Material(
              // Replace this child with your own
              elevation: 8.0,
              shape: CircleBorder(),
              child: ClipRRect(
                borderRadius: BorderRadius.circular(40),
                child: CircleAvatar(
                  backgroundColor: Colors.grey[100],
                  child: Image.network(
                    "https://external-content.duckduckgo.com
                    /iu/?u=https%3A%2F%2Fmedia.geeksforgeeks.
                    org%2Fwp-content%2Fcdn-uploads%2Fgfg_200X200.png&f=1&nofb=1",
                    fit: BoxFit.fill,
                  ),// image
                  radius: 40.0,
                ),// circleAvatar
              ),// ClipRRect
            ),// Material 
          ),// avatarglow
        ),// center
      ),// Scaffold
    ); // MaterialApp
  }
}


例子:

Dart

import 'package:avatar_glow/avatar_glow.dart';
import 'package:flutter/material.dart';
  
void main() {
  runApp(Avatarglow());
}
  
class Avatarglow extends StatelessWidget {
  const Avatarglow({Key? key}) : super(key: key);
  
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        appBar: AppBar(
          title: Text("Geeks for Geeks"),
          centerTitle: true,
          backgroundColor: Colors.green,
        ),//AppBar
        body: Center(
          child: AvatarGlow(
            glowColor: Colors.green,
            endRadius: 90.0,
            duration: Duration(milliseconds: 2000),
            repeat: true,
            showTwoGlows: true,
            repeatPauseDuration: Duration(milliseconds: 100),
            child: Material(
              // Replace this child with your own
              elevation: 8.0,
              shape: CircleBorder(),
              child: ClipRRect(
                borderRadius: BorderRadius.circular(40),
                child: CircleAvatar(
                  backgroundColor: Colors.grey[100],
                  child: Image.network(
                    "https://external-content.duckduckgo.com
                    /iu/?u=https%3A%2F%2Fmedia.geeksforgeeks.
                    org%2Fwp-content%2Fcdn-uploads%2Fgfg_200X200.png&f=1&nofb=1",
                    fit: BoxFit.fill,
                  ),// image
                  radius: 40.0,
                ),// circleAvatar
              ),// ClipRRect
            ),// Material 
          ),// avatarglow
        ),// center
      ),// Scaffold
    ); // MaterialApp
  }
}

输出:

解释 :

现在让我们了解上面给出的示例:

  • main 是加载程序后调用的主要方法。
  • 加载程序后,runApp 方法将运行并调用我们创建的类 (Avatarglow) 来运行。
  • 这个类是无状态的,因为我们只想显示 Glowing Image。
  • 由于flutter基于小部件,因此必须构建小部件。
  • 创建一个允许我们使用脚手架的 Material App。 Scaffold 允许我们使用 AppBar 和 Body。
  • AppBar 有一个简单的文本“Geeks for Geeks”和centertitle :true。
  • 正文包含采用AvatarGLow的居中布局。
  • glowColor属性设置发光颜色。
  • showTwoGlows设置为 false 时显示第一个 Glow,设置为 true 时显示第二个 Glow。
  • 发光结束的endRadius范围半径。
  • 作为一个孩子,你可以设置任何小部件,这里我们有一个网络图像。