Flutter设计系统插件gen_z_designs的使用

关于插件 gen_z_designs 的使用

GenZdesigns 是一个开源库,包含为 GenZ 设计的预先构建且易于定制的 UI 组件,旨在加快和简化开发过程。

特性

  • GenZButton
  • GenZCountdown

开始使用

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

dependencies:
  flutter:
    sdk: flutter
  gen_z_designs:

然后在你的 Dart 文件中导入该包:

import 'package:gen_z_designs/gen_z_designs.dart';

如何使用

GenZButton

以下是一些基本用法示例:

// 基本使用 GenZButton
GenZButton(
    onPressed: () {}, // 按钮点击事件
    text: "GenZdesign: Designs of new Generation.", // 按钮文本
);

// 带有边框的 GenZButton
GenZButton(
    onPressed: () {},
    text: "GenZdesign: Designs of new Generation.",
    type: GenZButtonType.OUTLINED, // 边框样式
);

// 透明背景的 GenZButton
GenZButton(
    onPressed: () {},
    text: "GenZdesign: Designs of new Generation.",
    type: GenZButtonType.TRANSPARENT, // 透明样式
);

// 使用其他属性
GenZPosition { LEADING, TRAILING, CENTER } // 对齐方式
GenZButtonShape { SQUARE, PILL, DEFAULT } // 形状
GenZSize { SMALL, MEDIUM, LARGE, XLARGE } // 大小
GenZButtonType { FILL, TRANSPARENT, OUTLINED, OUTLINED2X } // 按钮类型

带徽章的 GenZButton

// 在按钮外部添加徽章
GenZButton(
    text: "Text Button",
    onPressed: () {},
    badge: true, // 显示徽章
    type: GenZButtonType.OUTLINED,
    badgeColor: Colors.red, // 徽章颜色
);

// 在按钮内部添加徽章
GenZButton(
    text: "Text Button",
    onPressed: () {},
    badge: true,
    type: GenZButtonType.OUTLINED,
    badgeColor: Colors.amber,
    badgeType: BadgeType.INSIDE, // 徽章位置
    badgeText: const Icon(Icons.abc, size: 10), // 徽章图标
);

GenZCountdown

// 倒计时 300 秒
GenZCountdown(
   duration: Duration(seconds: 300), // 倒计时时间
   onDone: () => print("GenZ Sale Ended"), // 倒计时结束回调
);

// 递增计数到 300 秒
GenZCountdown(
   duration: Duration(seconds: 300),
   isIncremental: true, // 递增模式
   onDone: () => print("GenZ Sale Ended"),
);

完整示例代码

以下是一个完整的示例代码,展示了如何在 Flutter 应用中使用 gen_z_designs 包。

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

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

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

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(),
    );
  }
}

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

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: Container(
        alignment: Alignment.center,
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            // 带徽章的 GenZButton
            GenZButton(
              badge: true,
              onPressed: () {},
              type: GenZButtonType.OUTLINED,
              badgeColor: Colors.amber,
              badgePosition: const BadgePosition(left: 0),
              badgeType: BadgeType.INSIDE,
              badgeText: const Icon(Icons.abc, size: 18),
              text: "Text Button",
            ),
            // GenZCountdown
            GenZCountdown(
              // 销售时间是 2022-12-22 12:00 PM
              duration: Duration(
                milliseconds: DateTime.parse("2022-12-22 12:00:00")
                    .difference(DateTime.now())
                    .inMilliseconds,
              ),
            )
          ],
        ),
      ),
    );
  }
}

更多关于Flutter设计系统插件gen_z_designs的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

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


gen_z_designs 是一个为 Flutter 应用程序提供设计系统的插件,它可能包含了一套预定义的组件、样式、颜色、字体等,以帮助开发者快速构建符合现代设计趋势的应用程序。以下是如何使用 gen_z_designs 插件的基本步骤:

1. 添加依赖

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

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

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

2. 导入插件

在你的 Dart 文件中导入 gen_z_designs 插件。

import 'package:gen_z_designs/gen_z_designs.dart';

3. 使用设计系统组件

gen_z_designs 插件可能提供了一系列的组件和样式,你可以直接在应用程序中使用它们。

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        // 使用 gen_z_designs 提供的主题
        textTheme: GenZDesigns.textTheme,
      ),
      home: Scaffold(
        appBar: AppBar(
          title: Text('Gen Z Designs Demo'),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              // 使用 gen_z_designs 提供的按钮
              GenZButton(
                onPressed: () {
                  print('Button Pressed');
                },
                child: Text('Click Me'),
              ),
              SizedBox(height: 20),
              // 使用 gen_z_designs 提供的文本样式
              Text(
                'Hello, Gen Z Designs!',
                style: GenZDesigns.textTheme.headline4,
              ),
            ],
          ),
        ),
      ),
    );
  }
}

4. 自定义设计系统

如果 gen_z_designs 允许自定义某些样式或组件,你可以根据需要进行调整。

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        // 自定义文本主题
        textTheme: GenZDesigns.textTheme.copyWith(
          headline4: TextStyle(fontSize: 30, fontWeight: FontWeight.bold),
        ),
      ),
      home: Scaffold(
        appBar: AppBar(
          title: Text('Custom Gen Z Designs'),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              // 自定义按钮样式
              GenZButton(
                onPressed: () {
                  print('Custom Button Pressed');
                },
                child: Text('Custom Button'),
                color: Colors.pink,
              ),
              SizedBox(height: 20),
              Text(
                'Custom Style',
                style: GenZDesigns.textTheme.headline4,
              ),
            ],
          ),
        ),
      ),
    );
  }
}
回到顶部