Flutter彩色进度指示器插件scrumlab_colored_progress_indicators的使用

Flutter彩色进度指示器插件scrumlab_colored_progress_indicators的使用


example

scrumlab_colored_progress_indicators 是一个用于Flutter的进度指示器插件,支持彩色的圆形进度指示器、线性进度指示器和刷新指示器,并且具有Google颜色主题。

特性

  • 彩色圆形进度指示器
  • 彩色线性进度指示器
  • 彩色刷新指示器

开始使用

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

dependencies:
  ...
  scrumlab_colored_progress_indicators: ^1.2.0-nullsafety.0

在你的库中添加以下导入:

import 'package:scrumlab_colored_progress_indicators/scrumlab_colored_progress_indicators.dart';

然后运行 flutter pub get


使用方法

圆形进度指示器
child: ColoredCircularProgressIndicator()
线性进度指示器
child: ColoredLinearProgressIndicator()
刷新指示器
child: ColoredRefreshIndicator(
  child: SingleChildScrollView(
    physics: AlwaysScrollableScrollPhysics(),
    child: ...
  )
)

属性

这些指示器的属性与Flutter官方的CircularProgressIndicatorLinearProgressIndicatorRefreshIndicator相同,但不包括valueColorcolor属性(因为这些属性会随着颜色动画变化)。


更多示例

以下是完整的示例代码,展示了如何在应用中使用该插件。

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

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

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: ColoredProgressDemo(),
    );
  }
}

class ColoredProgressDemo extends StatefulWidget {
  [@override](/user/override)
  _ColoredProgressDemoState createState() => _ColoredProgressDemoState();
}

class _ColoredProgressDemoState extends State<ColoredProgressDemo> {
  Future<void> _refreshState() async {
    await Future.delayed(Duration(seconds: 7));
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        centerTitle: true,
        title: Text("Scroll from top for Refresh Indicator"),
      ),
      body: ColoredRefreshIndicator(
        onRefresh: () => _refreshState(),
        child: SingleChildScrollView(
          padding: EdgeInsets.symmetric(vertical: 20.0),
          physics: AlwaysScrollableScrollPhysics(),
          child: Center(
            child: Column(
              children: [
                Text(
                  "Without Colorful Accents (default)",
                  textScaleFactor: 2.0,
                  textAlign: TextAlign.center,
                  style: TextStyle(decoration: TextDecoration.underline),
                ),
                SizedBox(height: 50.0),
                SizedBox(
                  height: 100.0,
                  width: 100.0,
                  child: CircularProgressIndicator(strokeWidth: 8.0),
                ),
                SizedBox(height: 50.0),
                SizedBox(
                  width: 400.0,
                  child: LinearProgressIndicator(),
                ),
                SizedBox(height: 80.0),
                Text(
                  "With Colorful Accents",
                  textScaleFactor: 2.0,
                  textAlign: TextAlign.center,
                  style: TextStyle(decoration: TextDecoration.underline),
                ),
                SizedBox(height: 50.0),
                SizedBox(
                  width: 100.0,
                  height: 100.0,
                  child: ColoredCircularProgressIndicator(strokeWidth: 8.0),
                ),
                SizedBox(height: 50.0),
                SizedBox(
                  width: 400.0,
                  child: ColoredLinearProgressIndicator(),
                ),
              ],
            ),
          ),
        ),
      ),
    );
  }
}

更多关于Flutter彩色进度指示器插件scrumlab_colored_progress_indicators的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter彩色进度指示器插件scrumlab_colored_progress_indicators的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


scrumlab_colored_progress_indicators 是一个 Flutter 插件,用于在应用程序中显示彩色的进度指示器。它提供了多种样式和颜色的进度条,可以根据需要自定义。

安装

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

dependencies:
  flutter:
    sdk: flutter
  scrumlab_colored_progress_indicators: ^1.0.0

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

基本使用

scrumlab_colored_progress_indicators 提供了多种进度指示器组件,以下是基本的使用方法。

1. 线性进度条

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

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Colored Progress Indicators'),
      ),
      body: Center(
        child: ColoredLinearProgressIndicator(
          value: 0.5, // 进度值,范围是 0.0 到 1.0
          backgroundColor: Colors.grey[300],
          valueColor: Colors.blue,
        ),
      ),
    );
  }
}

2. 圆形进度条

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

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Colored Progress Indicators'),
      ),
      body: Center(
        child: ColoredCircularProgressIndicator(
          value: 0.5, // 进度值,范围是 0.0 到 1.0
          backgroundColor: Colors.grey[300],
          valueColor: Colors.green,
        ),
      ),
    );
  }
}

自定义

你可以通过设置 backgroundColorvalueColor 属性来自定义进度条的颜色。

ColoredLinearProgressIndicator(
  value: 0.7,
  backgroundColor: Colors.grey[200],
  valueColor: Colors.purple,
),

其他选项

  • strokeWidth: 用于圆形进度条,设置线条的宽度。
  • minHeight: 用于线性进度条,设置最小高度。
ColoredCircularProgressIndicator(
  value: 0.5,
  backgroundColor: Colors.grey[300],
  valueColor: Colors.orange,
  strokeWidth: 5.0,
),
ColoredLinearProgressIndicator(
  value: 0.5,
  backgroundColor: Colors.grey[300],
  valueColor: Colors.red,
  minHeight: 10.0,
),
回到顶部