Flutter组件展示插件flutter_widget_catalogue的使用

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

Flutter组件展示插件flutter_widget_catalogue的使用

通过使用Flutter的组件集合(包括视觉、结构、平台、UI和交互式小部件),您可以非常快速地创建出色的App。这是一个开源包。

按钮

这个包中包含了所有类型的按钮。认证按钮用于通过最受欢迎的社会网络进行身份验证,如:Google、Facebook、Apple等。此外,还可以添加更多类型的按钮,例如(圆角按钮、简单按钮、边框颜色按钮等)。

切换开关

这是一个为Flutter创建的易于实现的自定义切换开关。它可以设置自定义高度和宽度、颜色、大小、开关和滑块的边框、圆角半径、颜色、滑块大小,并且可以显示“开”和“关”的文本,还可以在滑块内添加自定义图标。

Neumorphic

这是一套完整的、可以直接使用的Neumorphic UI工具包,包括按钮、切换开关、容器、滑块、文本、图标、复选框、切换、指示器、范围滑块等。

安装

  1. pubspec.yaml文件中添加依赖。
dependencies:
  flutter_widget_catalogue: <最新版本>
  1. 导入包。
import 'package:flutter_widget_catalogue/flutter_widget_catalogue.dart';

Neumorphic小部件

Neumorphic截图 Neumorphic截图 Neumorphic截图

Neumorphic截图 Neumorphic截图 Neumorphic截图

按钮

按钮截图 按钮截图 按钮截图

切换开关

切换开关截图

如何使用按钮

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

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

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);
  
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Buttons',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const Buttons(),
    );
  }
}

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

class _ButtonsPageState extends State<Buttons> {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      body: Container(
        width: double.infinity,
        padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 20),
        child: SingleChildScrollView(
          child: Column(
            children: [
              // 简单按钮
              customContainer(
                child: SuccessButton(
                  title: "成功按钮",
                  onPressed: () {},
                ),
              ),
              
              // 带图标的按钮
              customContainer(
                child: ButttonWithIcon(
                  icon: Icons.local_cafe,
                  title: "带图标的按钮",
                  color: Colors.white,
                  buttonColor: Colors.cyan,
                  onPressed: () {},
                ),
              ),
              
              // 浮动按钮
              Wrap(
                children: [
                  FloatingIconButton(
                    icon: Icons.home,
                    onPressed: () {},
                    buttonColor: Colors.orange,
                  ),
                  FloatingIconButton(
                    icon: Icons.home,
                    onPressed: () {},
                    buttonColor: Colors.cyan,
                    color: Colors.white,
                  )
                ],
              ),
              
              // 线性按钮
              customContainer(
                child: PrimaryLineButton(
                  onPressed: () {},
                  title: "线性按钮",
                ),
              ),
              customContainer(
                child: InfoLineButton(
                  textColor: Colors.black,
                  onPressed: () {},
                  title: "信息线性按钮",
                ),
              ),
              
              // 圆角按钮
              customContainer(
                child: RoundedButtonWithIcon(
                  onPressed: () {},
                  icon: Icons.title,
                  title: "带图标的圆角按钮",
                  buttonColor: Colors.green,
                ),
              ),
              
              // 社交媒体按钮
              Wrap(
                children: [
                  FacebookButton(
                    onPressed: () {},
                  ),
                  TwitterButton(
                    onPressed: () {},
                  ),
                ],
              ),
              SignInWithEmail(
                onPressed: () {},
              ),
              SignInWithGoogle(
                onPressed: () {},
              ),
              SignInWithMicrosoft(
                onPressed: () {},
              ),
              SignInWithApple(
                onPressed: () {},
              ),
              
              // 渐变按钮
              customContainer(
                child: GradientButton(
                  onPressed: () {},
                  splashColor: Colors.orange,
                  colors: const [
                    Colors.red,
                    Colors.orange,
                  ],
                  title: "渐变按钮",
                ),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

如何使用切换开关

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

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

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("切换开关"),
      ),
      body: Center(
        child: Container(
          child: FlutterSwitch(
            width: 125.0,
            height: 55.0,
            valueFontSize: 25.0,
            toggleSize: 45.0,
            value: status,
            borderRadius: 30.0,
            padding: 8.0,
            showOnOff: true,
            onToggle: (val) {
              setState(() {
                status = val;
              });
            },
          ),
        ),
      ),
    );
  }
}

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

1 回复

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


当然,flutter_widget_catalogue 是一个展示 Flutter 中各种常用组件及其使用方式的插件。这对于开发者来说是一个非常有用的资源,因为它提供了一个集中的地方来查看和学习各种组件的用法。

下面是一个简单的代码示例,展示如何在你的 Flutter 应用中使用 flutter_widget_catalogue 来展示一些基本的组件。不过,需要注意的是,flutter_widget_catalogue 本身并不是一个直接用于应用的插件,而是一个演示各种 Flutter 组件的示例库。为了展示如何使用它,我们会模拟如何在你的项目中引入和使用类似的功能。

首先,你需要确保你的 Flutter 环境已经设置好,并且你有一个正在开发的项目。然后,你可以参考 flutter_widget_catalogue 的源码或者文档来了解如何展示特定的组件。

由于 flutter_widget_catalogue 是一个大型项目,下面我将展示如何在一个简单的 Flutter 应用中引入并使用一个特定的 Flutter 组件(比如 ElevatedButton),并模拟 flutter_widget_catalogue 的展示方式。

1. 创建 Flutter 项目

flutter create my_widget_catalogue
cd my_widget_catalogue

2. 更新 pubspec.yaml

虽然 flutter_widget_catalogue 不是一个直接可用的包,但我们会添加一些依赖来支持我们的示例应用。这里我们不需要添加任何特殊的依赖,因为 Flutter SDK 已经包含了大多数标准组件。

3. 修改 main.dart

import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Widget Catalogue Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Scaffold(
        appBar: AppBar(
          title: Text('Flutter Widget Catalogue Demo'),
        ),
        body: Padding(
          padding: const EdgeInsets.all(16.0),
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: <Widget>[
              Text(
                'ElevatedButton Demo',
                style: TextStyle(fontSize: 24),
              ),
              SizedBox(height: 16),
              ElevatedButtonDemo(),
            ],
          ),
        ),
      ),
    );
  }
}

class ElevatedButtonDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ElevatedButton(
      onPressed: () {
        ScaffoldMessenger.of(context).showSnackBar(
          SnackBar(content: Text('Button pressed!')),
        );
      },
      child: Text('Press Me'),
    );
  }
}

4. 运行应用

flutter run

这个简单的示例展示了如何在你的 Flutter 应用中展示和使用一个 ElevatedButton 组件。虽然这不是直接使用 flutter_widget_catalogue,但它模拟了如何在一个应用中展示和使用 Flutter 组件的方式。

如果你想查看 flutter_widget_catalogue 中展示的更多组件,你可以克隆它的 GitHub 仓库,并在本地运行它的示例应用。这样,你可以查看和学习各种组件的详细用法和最佳实践。

回到顶部