Flutter设计系统插件fidooo_design_system的使用

Flutter设计系统插件fidooo_design_system的使用

本库提供了一组专门为fidooo_design_system库设计的自定义小部件。通过这些自定义小部件,您可以轻松地将Fidooo的独特功能和样式融入到您的Flutter项目中。

特性

使用此库,您可以创建:

  • 颜色
  • 图标
  • 字体
  • 按钮
  • 文本字段

开始使用

要开始使用我们的包,请遵循以下简单步骤:

  1. dependencies部分添加以下行:
    dependencies:
      fidooo_design_system: ^version_number
    
  2. 保存pubspec.yaml文件。
  3. 在终端运行flutter pub get以安装包。

使用示例

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

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

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

  [@override](/user/override)
  Widget build(BuildContext context) {
    final colors = Theme.of(context).fColors;

    return MaterialApp(
      title: 'f-design-system',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: Scaffold(
        body: Column(
          mainAxisAlignment: MainAxisAlignment.spaceEvenly,
          crossAxisAlignment: CrossAxisAlignment.center,
          children: [
            Row(
              mainAxisAlignment: MainAxisAlignment.spaceEvenly,
              crossAxisAlignment: CrossAxisAlignment.center,
              children: [
                Text(
                  "Example Text",
                  textAlign: TextAlign.center,
                  style: FTextStyle(
                    fColor: colors.dark.primary,
                    fTypographyType: FTypographyType.headlineLarge,
                  ),
                ),
                Text(
                  "Example Text",
                  textAlign: TextAlign.center,
                  style: FTextStyle(
                    fColor: colors.dark.primaryVariant,
                    fTypographyType: FTypographyType.headlineMedium,
                  ),
                ),
                Text(
                  "Example Text",
                  textAlign: TextAlign.center,
                  style: FTextStyle(
                    fColor: colors.dark.secondary,
                    fTypographyType: FTypographyType.headlineSmall,
                  ),
                ),
              ],
            ),
            Row(
              mainAxisAlignment: MainAxisAlignment.spaceEvenly,
              crossAxisAlignment: CrossAxisAlignment.center,
              children: [
                FButton(
                  enabledColor: colors.dark.noColor,
                  enabledTextColor: colors.dark.primary,
                  hoveredColor: colors.dark.secondaryVariant,
                  hoveredTextColor: colors.dark.primary,
                  disabledColor: colors.dark.neutral25,
                  disabledTextColor: colors.dark.neutral75,
                  pressedColor: colors.dark.secondary,
                  pressedTextColor: colors.dark.primary,
                  onPressed: () {},
                  buttonText: 'Label',
                  fTextTypographyType: FTypographyType.bodyLarge,
                  buttonType: FButtonType.outlined,
                ),
                FButton(
                  enabledColor: colors.dark.noColor,
                  enabledTextColor: colors.dark.primary,
                  hoveredColor: colors.dark.secondaryVariant,
                  hoveredTextColor: colors.dark.primary,
                  disabledColor: colors.dark.neutral25,
                  disabledTextColor: colors.dark.neutral75,
                  pressedColor: colors.dark.secondary,
                  pressedTextColor: colors.dark.primary,
                  onPressed: () {},
                  buttonText: 'Label',
                  fTextTypographyType: FTypographyType.bodyLarge,
                  icon: FIconType.settings,
                  buttonType: FButtonType.outlined,
                ),
                FButton(
                  enabledColor: colors.dark.noColor,
                  enabledTextColor: colors.dark.primary,
                  hoveredColor: colors.dark.secondaryVariant,
                  hoveredTextColor: colors.dark.primary,
                  disabledColor: colors.dark.neutral25,
                  disabledTextColor: colors.dark.neutral75,
                  pressedColor: colors.dark.secondary,
                  pressedTextColor: colors.dark.primary,
                  onPressed: () {},
                  fTextTypographyType: FTypographyType.bodyLarge,
                  icon: FIconType.settings,
                  buttonType: FButtonType.outlined,
                ),
              ],
            ),
            Row(
              mainAxisAlignment: MainAxisAlignment.spaceEvenly,
              children: [
                Container(
                  width: 24,
                  height: 24,
                  color: colors.dark.backgroundColors.blue.color,
                  child: FIcon(FIconType.add),
                ),
                Container(
                  width: 24,
                  height: 24,
                  color: colors.dark.backgroundColors.blue.color,
                  child: FIcon(FIconType.message),
                ),
                Container(
                  width: 24,
                  height: 24,
                  color: colors.dark.backgroundColors.blue.color,
                  child: FIcon(FIconType.user),
                ),
              ],
            ),
            Row(
              children: [
                Container(
                  width: 24,
                  height: 24,
                  child: FTextField(
                    fSelectColor: FColor.lightPrimaryPurple,
                    label: "Example 2",
                    controller: TextEditingController(),
                    validator: (value) {
                      if (value!.isEmpty) {
                        return 'El campo es requerido';
                      }
                      return null;
                    }
                  )
                )
              ]
            )
          ],
        ),
      ),
    );
  }
}

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

1 回复

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


fidooo_design_system 是一个为 Flutter 应用程序设计的插件,旨在提供一套统一的设计元素和组件,帮助开发者快速构建一致且美观的用户界面。以下是如何使用 fidooo_design_system 插件的详细步骤:

1. 安装插件

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

dependencies:
  flutter:
    sdk: flutter
  fidooo_design_system: ^版本号

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

2. 导入插件

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

import 'package:fidooo_design_system/fidooo_design_system.dart';

3. 使用设计系统组件

fidooo_design_system 提供了一系列预定义的组件和样式,你可以在你的应用中使用这些组件。

示例:使用按钮组件

FidoooButton(
  onPressed: () {
    // 按钮点击事件
  },
  text: '点击我',
  type: FidoooButtonType.primary,
);

示例:使用文本样式

Text(
  'Hello, Fidooo!',
  style: FidoooTextStyles.headline1,
);

示例:使用颜色

Container(
  color: FidoooColors.primary,
  child: Text(
    '使用主色调',
    style: TextStyle(color: FidoooColors.onPrimary),
  ),
);

4. 自定义主题

你可以通过 FidoooTheme 来定制应用的主题,以符合你的品牌风格。

MaterialApp(
  theme: FidoooTheme.light(),
  darkTheme: FidoooTheme.dark(),
  home: MyHomePage(),
);

5. 使用图标

fidooo_design_system 可能还包含了一套自定义图标库,你可以这样使用:

Icon(FidoooIcons.heart);

6. 使用布局组件

插件可能还提供了一些常用的布局组件,例如卡片、网格、列表等。

FidoooCard(
  child: Text('这是一个卡片'),
);

7. 响应式设计

fidooo_design_system 可能还包含了一些响应式设计的工具,帮助你在不同设备上保持一致的布局。

FidoooResponsiveBuilder(
  builder: (context, screenSize) {
    if (screenSize == FidoooScreenSize.small) {
      return Text('小屏幕');
    } else {
      return Text('大屏幕');
    }
  },
);
回到顶部