Flutter动画浮动操作按钮插件animated_float_action_button的使用

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

Flutter动画浮动操作按钮插件 animated_float_action_button 的使用

Getting Started

这个项目是一个Dart包的起点,包含可以在多个Flutter或Dart项目中轻松共享的代码库。要开始使用Flutter,请查看我们的在线文档,该文档提供了教程、示例、移动开发指南和完整的API参考。

Screenshots

Animated Float Action Button Example

Usage

要在你的Flutter项目中使用此插件,请在pubspec.yaml文件中添加以下依赖项:

dependencies:
    ...
    animated_float_action_button: ^1.0.4

Example

首先,导入插件包:

import 'package:animated_float_action_button/animated_floating_action_button.dart';

然后创建一些浮动按钮,并设置它们的点击事件和属性:

final GlobalKey<AnimatedFloatingActionButtonState> fabKey = GlobalKey();

Widget add() {
    return FloatActionButtonText(
      onPressed: (){
        fabKey.currentState.animate();
      },
      icon: Icons.add,
      text: "Ativar/Desativar Âncora",
      textLeft: -215,
    );
}

Widget image() {
    return FloatActionButtonText(
      onPressed: (){
        fabKey.currentState.animate();
      },
      icon: Icons.image,
      textLeft: -150,
      text: "Visualizar Rota",
    );
}

Widget inbox() {
    return FloatActionButtonText(
      onPressed: (){
        fabKey.currentState.animate();
      },
      icon: Icons.inbox,
      textLeft: -135,
      text: "Desbloquear",
    );
}

接下来,在你的Scaffold中使用这些按钮:

Scaffold(
    floatingActionButton: AnimatedFloatingActionButton(
        key: fabKey,
        fabButtons: <Widget>[
            add(), 
            image(),
            inbox(),
        ],
        colorStartAnimation: Colors.blue,
        colorEndAnimation: Colors.red,
        animatedIconData: AnimatedIcons.menu_close // 主按钮动画图标
    ),
)

完整示例

下面是一个完整的示例应用程序,展示了如何集成并使用animated_float_action_button插件:

import 'package:flutter/material.dart';
// 假设 example.dart 文件中包含了上面定义的按钮函数
import 'example.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(primaryColor: Colors.blue, hintColor: Colors.red),
      home: Scaffold(
          appBar: AppBar(
            title: Text('Animated Floating Action Button Example'),
          ),
          body: Center(child: Text('Press the button below!')),
          floatingActionButton: AnimatedFloatingActionButton(
              key: fabKey,
              fabButtons: <Widget>[add(), image(), inbox()],
              colorStartAnimation: Colors.blue,
              colorEndAnimation: Colors.red,
              animatedIconData: AnimatedIcons.menu_close
          )
      ),
    );
  }
}

完整示例可以在这里找到:GitHub 示例


更多关于Flutter动画浮动操作按钮插件animated_float_action_button的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter动画浮动操作按钮插件animated_float_action_button的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是如何在Flutter中使用animated_float_action_button插件来实现动画浮动操作按钮的示例代码。这个插件允许你创建一个带有多个子按钮的浮动操作按钮(FAB),并在点击主按钮时展开或收起子按钮。

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

dependencies:
  flutter:
    sdk: flutter
  animated_float_action_button: ^2.0.0  # 请检查最新版本号

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

接下来,你可以在你的Flutter项目中实现动画浮动操作按钮。以下是一个完整的示例代码:

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Animated Float Action Button Demo'),
        ),
        body: Center(
          child: Text('Tap the FAB below to see the animation!'),
        ),
        floatingActionButton: AnimatedFloatingActionButton(
          icon: AnimatedIcons.menu_arrow,
          color: Colors.blue,
          size: 56.0,
          onPressed: () {},
          buttons: [
            FloatingActionButton(
              heroTag: '1',
              backgroundColor: Colors.red,
              onPressed: () {
                // Handle first button press
                print('First button pressed');
              },
              child: Icon(Icons.add),
            ),
            FloatingActionButton(
              heroTag: '2',
              backgroundColor: Colors.green,
              onPressed: () {
                // Handle second button press
                print('Second button pressed');
              },
              child: Icon(Icons.edit),
            ),
            FloatingActionButton(
              heroTag: '3',
              backgroundColor: Colors.purple,
              onPressed: () {
                // Handle third button press
                print('Third button pressed');
              },
              child: Icon(Icons.share),
            ),
          ],
        ),
      ),
    );
  }
}

代码解释

  1. 依赖添加:确保在pubspec.yaml中添加了animated_float_action_button依赖。

  2. 导入包:在代码顶部导入必要的包,包括flutter/material.dartanimated_float_action_button/animated_float_action_button.dart

  3. 主应用:定义一个MyApp类,它继承自StatelessWidget

  4. 构建UI

    • 使用MaterialAppScaffold来构建基本的Material Design布局。
    • ScaffoldfloatingActionButton属性中使用AnimatedFloatingActionButton
    • AnimatedFloatingActionButtonicon属性设置为主按钮的图标(这里使用AnimatedIcons.menu_arrow)。
    • color属性设置按钮的颜色。
    • size属性设置按钮的大小。
    • onPressed属性设置主按钮的点击事件(这里为空,但你可以添加你自己的逻辑)。
    • buttons属性是一个FloatingActionButton的列表,定义了展开后的子按钮。每个子按钮有自己的heroTagbackgroundColoronPressed事件和child(图标)。
  5. 运行应用:使用flutter run命令运行应用,你应该能看到一个带有动画效果的浮动操作按钮。

这个示例展示了如何使用animated_float_action_button插件来创建一个带有动画效果的浮动操作按钮。你可以根据需要自定义按钮的图标、颜色和行为。

回到顶部