Flutter居中加载指示器插件center_loading的使用

Flutter居中加载指示器插件center_loading的使用

在Flutter开发中,有时我们需要在页面中央显示一个加载指示器,以提示用户当前正在加载数据或执行某个操作。本文将介绍如何使用center_loading插件来实现这一功能。

特性

  • 简单易用:只需几行代码即可在页面中央添加加载指示器。
  • 灵活配置:支持多种样式和颜色的加载指示器。

开始使用

添加依赖

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

dependencies:
  center_loading: ^1.0.0

然后运行以下命令安装依赖:

flutter pub get

导入包

在需要使用的Dart文件中导入center_loading包:

import 'package:center_loading/center_loading.dart';

使用示例

以下是一个简单的示例,展示如何在页面中央添加一个加载指示器:

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: CenterLoadingExample(),
    );
  }
}

class CenterLoadingExample extends StatefulWidget {
  @override
  _CenterLoadingExampleState createState() => _CenterLoadingExampleState();
}

class _CenterLoadingExampleState extends State<CenterLoadingExample> {
  bool isLoading = false;

  void _showLoader() {
    setState(() {
      isLoading = true;
    });
    Future.delayed(Duration(seconds: 3), () {
      setState(() {
        isLoading = false;
      });
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('中心加载指示器示例'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            ElevatedButton(
              onPressed: _showLoader,
              child: Text('显示加载指示器'),
            ),
            SizedBox(height: 20),
            CenterLoading(
              isLoading: isLoading,
              child: Text('加载完成!'),
            ),
          ],
        ),
      ),
    );
  }
}

代码说明

  1. 导入包

    import 'package:center_loading/center_loading.dart';
    

    导入center_loading包以便使用其中的CenterLoading组件。

  2. 定义状态管理

    bool isLoading = false;
    
    void _showLoader() {
      setState(() {
        isLoading = true;
      });
      Future.delayed(Duration(seconds: 3), () {
        setState(() {
          isLoading = false;
        });
      });
    }
    

    定义了一个isLoading变量来控制加载指示器的显示状态,并通过按钮点击事件触发加载逻辑。

  3. 使用CenterLoading组件

    CenterLoading(
      isLoading: isLoading,
      child: Text('加载完成!'),
    )
    

更多关于Flutter居中加载指示器插件center_loading的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter居中加载指示器插件center_loading的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在 Flutter 中,center_loading 是一个常用的加载指示器插件,用于在页面或组件的中心显示一个加载动画。以下是如何使用 center_loading 插件的步骤:

1. 添加依赖

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

dependencies:
  flutter:
    sdk: flutter
  center_loading: ^1.0.0  # 请使用最新版本

然后运行 flutter pub get 来获取依赖。

2. 导入包

在你的 Dart 文件中导入 center_loading 包:

import 'package:center_loading/center_loading.dart';

3. 使用 CenterLoading 组件

你可以在需要显示加载指示器的地方使用 CenterLoading 组件。以下是一个简单的示例:

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

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  bool _isLoading = false;

  void _startLoading() {
    setState(() {
      _isLoading = true;
    });

    // 模拟一个异步操作
    Future.delayed(Duration(seconds: 3), () {
      setState(() {
        _isLoading = false;
      });
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Center Loading Example'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            if (_isLoading)
              CenterLoading()  // 显示加载指示器
            else
              Text('Press the button to start loading'),
            SizedBox(height: 20),
            ElevatedButton(
              onPressed: _startLoading,
              child: Text('Start Loading'),
            ),
          ],
        ),
      ),
    );
  }
}

void main() => runApp(MaterialApp(
  home: MyHomePage(),
));

4. 自定义加载指示器

CenterLoading 组件允许你自定义加载指示器的样式。你可以通过传递参数来修改颜色、大小等属性。例如:

CenterLoading(
  color: Colors.blue,  // 设置加载指示器的颜色
  size: 50.0,          // 设置加载指示器的大小
)
回到顶部