Flutter UI构建插件flutter_builder_ui_kit的使用

Flutter UI构建插件flutter_builder_ui_kit的使用

flutter_builder_ui_kit 是一个灵活且可定制的 Flutter 应用程序 UI 构建包。它是 Flutter Pre-setupFlutter Builder 低代码生成及项目快速搭建应用程序的一部分。

完整的示例和文档可以在 UI kit 网站 上找到。

您也可以加入 Discord Server 获取更多关于 UI Kit 和 Flutter Builder 的信息。

特性

  • 使用简便的构建模式创建常见的 UI 组件
  • 高度可定制的小部件
  • 支持响应式设计
  • 支持 Material Design 和 Cupertino 风格组件
  • 最小依赖项

安装

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

dependencies:
    flutter_builder_ui_kit: ^1.0.5

使用

首先,在您的 Dart 文件中导入 flutter_builder_ui_kit 包:

import 'package:flutter_builder_ui_kit/flutter_builder_ui_kit.dart';

按钮示例

BouncingIconButton(
    icon: Icons.favorite, // 设置按钮图标
    onPressed: () {}, // 设置点击事件
    color: Colors.red, // 设置按钮颜色
    size: 56, // 设置按钮大小
),

按钮示例

输入框示例

PinInput(
    length: 4, // 设置输入框长度
    obscureText: true, // 设置是否隐藏输入内容
    onCompleted: (pin) { // 输入完成后触发
    // 处理PIN码完成逻辑
    },
)

输入框示例

卡片示例

StatusCard(
    customColor: Colors.green.shade400, // 设置卡片自定义颜色
    type: StatusType.success, // 设置卡片类型
    title: 'Payment Successful', // 设置卡片标题
    message: 'Your transaction has been completed.', // 设置卡片消息
    onClose: () {}, // 设置关闭事件
),

卡片示例

列表项示例

AnimatedListTile(
    leading: Icons.inbox, // 设置列表项前导图标
    title: 'Inbox', // 设置列表项标题
    subtitle: '3 new messages', // 设置列表项副标题
    onTap: () {}, // 设置点击事件
),

列表项示例

覆盖层示例

ElevatedButton(
    child: const Text('Show Form Sheet'), // 设置按钮文本
    onPressed: () {
    final formKey = GlobalKey<FormState>(); // 创建表单键
    final addressController = TextEditingController(); // 创建地址控制器
    final cityController = TextEditingController(); // 创建城市控制器
    final zipController = TextEditingController(); // 创建邮政编码控制器

    StyledBottomSheet.show(
        context: context,
        title: 'Delivery Address', // 设置弹出框标题
        content: Form(
        key: formKey,
        child: Column(
            children: [
            TextFormField(
                controller: addressController,
                decoration: const InputDecoration(
                labelText: 'Street Address', // 设置输入框标签
                prefixIcon: Icon(FontAwesomeIcons.locationDot), // 设置输入框前缀图标
                ),
                validator: (value) => value?.isEmpty ?? true ? 'Required' : null, // 设置验证器
            ),
            const SizedBox(height: 16),
            Row(
                children: [
                Expanded(
                    flex: 2,
                    child: TextFormField(
                    controller: cityController,
                    decoration: const InputDecoration(
                        labelText: 'City', // 设置输入框标签
                        prefixIcon: Icon(FontAwesomeIcons.city), // 设置输入框前缀图标
                    ),
                    validator: (value) => value?.isEmpty ?? true ? 'Required' : null, // 设置验证器
                    ),
                ),
                const SizedBox(width: 16),
                Expanded(
                    child: TextFormField(
                    controller: zipController,
                    decoration: const InputDecoration(
                        labelText: 'ZIP', // 设置输入框标签
                        prefixIcon: Icon(FontAwesomeIcons.envelopeCircleCheck), // 设置输入框前缀图标
                    ),
                    keyboardType: TextInputType.number, // 设置键盘类型
                    validator: (value) => value?.isEmpty ?? true ? 'Required' : null, // 设置验证器
                    ),
                ),
                ],
            ),
            ],
        ),
        ),
        actions: [
        SizedBox(
            width: double.infinity,
            child: FilledButton(
            onPressed: () {
                if (formKey.currentState?.validate() ?? false) { // 验证表单
                Navigator.pop(context); // 关闭弹出框
                // 处理地址提交逻辑
                }
            },
            child: const Text('Save Address'), // 设置按钮文本
            ),
        ),
        ],
    );
    },
),

覆盖层示例

底部栏示例

FloatingBottomBar(
    currentIndex: 0, // 设置当前选中索引
    onTap: (_) {}, // 设置点击事件
    leftItems: const [
    NavItemData(
        icon: FontAwesomeIcons.house, // 设置左侧图标
        label: 'Home', // 设置左侧标签
    ),
    NavItemData(
        icon: FontAwesomeIcons.trophy, // 设置左侧图标
        label: 'Rewards', // 设置左侧标签
    ),
    ],
    rightItems: const [
    NavItemData(
        icon: FontAwesomeIcons.compass, // 设置右侧图标
        label: 'Explore', // 设置右侧标签
    ),
    NavItemData(
        icon: FontAwesomeIcons.user, // 设置右侧图标
        label: 'Profile', // 设置右侧标签
    ),
    ],
    floatingAction: FloatingActionData(
    icon: FontAwesomeIcons.plus, // 设置浮动操作图标
    ),
),

更多关于Flutter UI构建插件flutter_builder_ui_kit的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

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


当然,以下是一个关于如何使用 flutter_builder_ui_kit 插件来构建 Flutter UI 的简单示例代码。这个插件通常用于快速构建和原型设计用户界面。

首先,确保你已经在 pubspec.yaml 文件中添加了 flutter_builder_ui_kit 依赖:

dependencies:
  flutter:
    sdk: flutter
  flutter_builder_ui_kit: ^最新版本号  # 请替换为实际的最新版本号

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

接下来,在你的 Flutter 项目中,你可以使用 flutter_builder_ui_kit 提供的组件来构建你的 UI。以下是一个简单的示例:

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

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

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

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter Builder UI Kit Example'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            // 使用 flutter_builder_ui_kit 提供的按钮
            FBButton(
              text: 'Click Me',
              onPressed: () {
                // 按钮点击事件
                ScaffoldMessenger.of(context).showSnackBar(
                  SnackBar(content: Text('Button clicked!')),
                );
              },
              buttonType: FBButtonType.filled,
              buttonColor: Colors.blue,
              textColor: Colors.white,
            ),
            
            // 使用 flutter_builder_ui_kit 提供的输入框
            SizedBox(height: 20),
            FBTextField(
              hintText: 'Enter text here',
              labelText: 'Label',
              onChanged: (value) {
                // 输入框内容变化时的回调
                print('TextField value: $value');
              },
            ),

            // 使用 flutter_builder_ui_kit 提供的卡片
            SizedBox(height: 20),
            FBCard(
              child: Column(
                mainAxisAlignment: MainAxisAlignment.center,
                children: <Widget>[
                  Text('This is a card!'),
                ],
              ),
              margin: EdgeInsets.all(16),
              elevation: 4,
            ),
          ],
        ),
      ),
    );
  }
}

在这个示例中,我们使用了 flutter_builder_ui_kit 提供的 FBButtonFBTextFieldFBCard 组件来构建一个简单的用户界面。这些组件都提供了许多自定义选项,例如按钮类型、颜色、文本颜色、边距和阴影等,你可以根据需要进行调整。

请注意,flutter_builder_ui_kit 插件的具体 API 和组件可能会随着版本的更新而发生变化,因此建议查阅最新的官方文档以获取最准确的信息和示例代码。

回到顶部