Flutter霓虹形态加载动画插件neumorphic_loader的使用

Flutter霓虹形态加载动画插件neumorphic_loader的使用

圆形加载器与霓虹形态容器结合。

图像

开始使用

在项目的pubspec.yaml文件中添加以下依赖:

dependencies:
  neumorphic_loader: ^1.0.0

然后运行flutter pub get以安装该包。

使用方法

首先,导入该包:

import 'package:neumorphic_loader/neumorphic_loader.dart';

接下来,在你的build方法中使用NeumorphicLoader组件。这里是一个完整的示例:

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

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

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        title: '示例应用',
        theme: ThemeData(
          primarySwatch: Colors.blue,
        ),
        home: const HomeScreen());
  }
}

class HomeScreen extends StatefulWidget {
  const HomeScreen({Key? key}) : super(key: key);

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

class _HomeScreenState extends State<HomeScreen> {
  bool isLoading = false;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('霓虹形态加载器'),
      ),
      body: Container(
        color: Colors.deepPurpleAccent,
        child: Center(
          child: isLoading
              ? const NeumorphicLoader(
                  size: 75,          // 加载器的大小
                  borderRadius: 10,  // 边框圆角半径
                  blurValue: 53,     // 模糊值
                  borderColor: Colors.amber,  // 边框颜色
                  loaderColor: Colors.amber,  // 加载器颜色
                )
              : ElevatedButton(
                  onPressed: () {
                    setState(() {
                      isLoading = true;
                    });
                    Future.delayed(const Duration(seconds: 3)).then((value) {
                      setState(() {
                        isLoading = false;
                      });
                    });
                  },
                  child: const Text('显示加载器'),
                ),
        ),
      ),
    );
  }
}

在这个示例中,当按钮被点击时,会显示一个霓虹形态的加载器,并且在3秒后自动隐藏。你可以根据需要调整加载器的颜色、大小和其他属性。

贡献

欢迎提交拉取请求。对于较大的更改,请先打开一个问题讨论你想要进行的更改。


更多关于Flutter霓虹形态加载动画插件neumorphic_loader的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter霓虹形态加载动画插件neumorphic_loader的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


neumorphic_loader 是一个用于 Flutter 的加载动画插件,它基于 Neumorphic 设计风格,能够为你的应用添加漂亮的加载动画。Neumorphic 设计风格是一种现代 UI 设计趋势,它通过模拟物理表面的凹凸效果来创建出具有立体感的界面。

以下是如何在 Flutter 项目中使用 neumorphic_loader 插件的步骤:

1. 添加依赖

首先,你需要在 pubspec.yaml 文件中添加 neumorphic_loader 插件的依赖。

dependencies:
  flutter:
    sdk: flutter
  neumorphic_loader: ^1.0.0  # 请检查最新版本

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

2. 导入包

在你的 Dart 文件中导入 neumorphic_loader 包。

import 'package:neumorphic_loader/neumorphic_loader.dart';

3. 使用 NeumorphicLoader

NeumorphicLoader 是一个小部件,你可以直接将它添加到你的 UI 中。它提供了多种自定义选项,例如颜色、大小、动画速度等。

class MyHomePage extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Neumorphic Loader Example'),
      ),
      body: Center(
        child: NeumorphicLoader(
          size: 100.0, // 设置加载器的大小
          color: Colors.blue, // 设置加载器的颜色
          duration: Duration(seconds: 2), // 设置动画的持续时间
        ),
      ),
    );
  }
}

4. 自定义选项

NeumorphicLoader 提供了多种自定义选项,你可以根据需要调整加载器的外观和行为。

  • size: 加载器的大小。
  • color: 加载器的颜色。
  • duration: 动画的持续时间。
  • strokeWidth: 加载器线条的宽度。
  • style: 加载器的样式(例如,NeumorphicStyle.flatNeumorphicStyle.concave)。

5. 运行应用

保存你的更改并运行应用。你应该会看到一个漂亮的 Neumorphic 风格的加载动画。

示例代码

以下是一个完整的示例代码:

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

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

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

class MyHomePage extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Neumorphic Loader Example'),
      ),
      body: Center(
        child: NeumorphicLoader(
          size: 100.0,
          color: Colors.blue,
          duration: Duration(seconds: 2),
        ),
      ),
    );
  }
}
回到顶部