Flutter顶部提示插件top_snackbar的使用

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

Flutter顶部提示插件top_snackbar的使用

Features

  • 可定制样式:包括文本、背景颜色、前导图标等。
  • 响应式布局设计:使用Media Queries适应各种屏幕尺寸。
  • 预定义的消息类型方法:默认样式和图标。
  • 作为覆盖层:不会干扰小部件树或受上下文变化影响。

Demo

Demo

Usage

Installation

pubspec.yaml 文件中添加 top_snackbar

dependencies:
  top_snackbar: ^0.0.6 # 使用最新版本

Import

在 Dart 文件中导入 top_snackbar

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

Custom Top Snackbar Widget

要显示自定义的顶部提示消息,可以使用 CustomTopSnackbar.show 方法:

CustomTopSnackbar.show(
  context,
  'Your message here',
  // 可选参数,根据需要自定义更多属性
  leadingIcon: Icons.copy,
  backgroundColor: Colors.blue,
);

Pre-defined Message Types

该库提供了不同消息类型的预定义方法,带有默认样式和图标:

  • Info:显示信息性消息。

    CustomTopSnackbar.showInfo(context, 'Info message');
    
  • Success:显示成功消息。

    CustomTopSnackbar.showSuccess(context, 'Success message');
    
  • Error:显示错误消息。

    CustomTopSnackbar.showError(context, 'Error message');
    
  • Warning:显示警告消息。

    CustomTopSnackbar.showWarning(context, 'Warning message');
    

示例代码

以下是一个完整的示例代码,展示了如何在 Flutter 应用中使用 top_snackbar 插件:

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:top_snackbar/top_snackbar.dart';

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

class ExampleApp extends StatelessWidget {
  const ExampleApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Custom Top Snackbar Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const ExamplePage(),
    );
  }
}

class ExamplePage extends StatelessWidget {
  const ExamplePage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Snackbar Example'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          crossAxisAlignment: CrossAxisAlignment.start,
          children: <Widget>[
            // 自定义仅包含文本的提示
            ElevatedButton(
              onPressed: () {
                CustomTopSnackbar.show(
                    context, 'This is an example of a custom snackbar');
              },
              child: const Text("Custom Snackbar"),
            ),

            // 自定义包含图标和文本的提示
            ElevatedButton(
              onPressed: () {
                CustomTopSnackbar.show(context,
                    'This is an example of a custom snackbar with an icon',
                    leadingIcon: CupertinoIcons.checkmark_alt_circle_fill);
              },
              child: const Text("Custom Snackbar with Icon"),
            ),

            // 信息风格的提示
            ElevatedButton(
              onPressed: () {
                CustomTopSnackbar.showInfo(
                    context, 'This is an example of an info snackbar');
              },
              child: const Text("Info Snackbar"),
            ),

            // 成功风格的提示
            ElevatedButton(
              onPressed: () {
                CustomTopSnackbar.showSuccess(
                    context, 'This is an example of a success snackbar');
              },
              child: const Text("Success Snackbar"),
            ),

            // 警告风格的提示
            ElevatedButton(
              onPressed: () {
                CustomTopSnackbar.showWarning(
                    context, 'This is an example of a warning snackbar');
              },
              child: const Text("Warning Snackbar"),
            ),

            // 错误风格的提示
            ElevatedButton(
              onPressed: () {
                CustomTopSnackbar.showError(
                    context, 'This is an example of an error snackbar');
              },
              child: const Text("Error Snackbar"),
            ),
          ],
        ),
      ),
    );
  }
}

通过以上示例代码,您可以轻松地在 Flutter 应用中使用 top_snackbar 插件来显示顶部提示消息。希望这对您有所帮助!


更多关于Flutter顶部提示插件top_snackbar的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter顶部提示插件top_snackbar的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是如何在Flutter项目中使用top_snackbar插件的一个简单示例。这个插件允许你在屏幕的顶部显示一个Snackbar,与默认的底部Snackbar不同。

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

dependencies:
  flutter:
    sdk: flutter
  top_snackbar: ^x.y.z  # 请替换为最新的版本号

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

接下来,在你的Flutter项目中,你可以按照以下方式使用TopSnackbar

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Top Snackbar Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

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

class _MyHomePageState extends State<MyHomePage> {
  final TopSnackbarController _topSnackbarController = TopSnackbarController();

  void _showTopSnackbar() {
    _topSnackbarController.show(
      context,
      message: '这是一个顶部提示',
      duration: Duration(seconds: 3),  // 显示持续时间
      backgroundColor: Colors.blue.withOpacity(0.9),
      messageTextStyle: TextStyle(color: Colors.white),
      action: SnackbarAction(
        label: '确定',
        onPressed: () {
          // 点击动作
          _topSnackbarController.hide();
        },
      ),
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Top Snackbar Demo'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: _showTopSnackbar,
          child: Text('显示顶部提示'),
        ),
      ),
    );
  }
}

在这个示例中,我们创建了一个简单的Flutter应用,其中包含一个按钮。点击按钮时,会在屏幕顶部显示一个Snackbar。

以下是关键点的解释:

  1. 依赖安装:在pubspec.yaml文件中添加top_snackbar依赖。
  2. 控制器:创建TopSnackbarController实例,用于控制Snackbar的显示和隐藏。
  3. 显示Snackbar:使用_topSnackbarController.show方法来显示Snackbar,可以自定义消息、持续时间、背景颜色、文本样式以及动作按钮。
  4. 隐藏Snackbar:在动作按钮的onPressed回调中,调用_topSnackbarController.hide方法来隐藏Snackbar。

这个示例展示了如何在Flutter中使用top_snackbar插件来显示顶部提示。你可以根据需要进一步自定义Snackbar的样式和行为。

回到顶部