Flutter组件库插件flutterflow_components的使用

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

Flutter组件库插件flutterflow_components的使用


Library Logo

Pub status GitHub license Pub version forks

Pub Package Star on Github Forks on Github Contributors Code Size License: MIT Platform


一个集合了精美的 Flutter 组件库,用于构建美观且响应式的用户界面。

特性

  • 🎨 一致的颜色和字体
  • 📦 本地资产管理
  • 📊 枚举和扩展,便于开发
  • 🌐 响应式设计组件
  • 🌈 美丽的按钮和字体
  • ⚙️ 通用工具类
  • 🚀 加载和骨架小部件
  • … 更多!

安装

pubspec.yaml 文件中添加以下行:

dependencies:
  flutterflow_components: <检查最新版本>

然后运行:

$ flutter pub get

使用

在 Dart 文件中导入库:

import 'package:flutterflow_components/flutterflow_components.dart' as components;

现在你可以开始使用 flutterflow_components 提供的各种组件来增强你的 Flutter 应用程序!

示例

访问所有组件示例(简单方式)

import 'package:flutter/material.dart';
import 'package:flutterflow_components/flutterflow_components.dart' as components;

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

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('FlutterFlow Components Example'),
        ),
        body: Center(
          child: Text(
            '欢迎使用 FlutterFlow Components!',
            style: components.getRegularStyle(
                color: Colors
                    .black), // 这个 (components.) 允许你访问所有组件
          ),
        ),
      ),
    );
  }
}

访问组件单独示例(传统方式)

应用颜色 示例

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

void main() {
  runApp(
    MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('应用颜色示例'),
          backgroundColor: AppColors.primaryColor,
        ),
        body: Container(
          color: AppColors.backgroundColor,
          child: Center(
            child: Text(
              '这是一个使用应用颜色的示例',
              style: TextStyle(color: AppColors.textColor),
            ),
          ),
        ),
      ),
    ),
  );
}

应用字体 示例

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

void main() {
  runApp(
    MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('应用字体示例'),
        ),
        body: Center(
          child: Text(
            '这是一个使用应用字体的示例',
            style: getBoldStyle(),
          ),
        ),
      ),
    ),
  );
}

应用文本样式 示例

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

void main() {
  runApp(
    MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('应用文本样式示例'),
        ),
        body: Center(
          child: Text(
            '这是一个使用应用文本样式的示例',
            style: getSemiBoldStyle(),
          ),
        ),
      ),
    ),
  );
}

应用本地资源 示例

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

void main() {
  runApp(
    MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('应用本地资源示例'),
        ),
        body: Center(
          child: Image.asset(
            AppAssets.logo,
            width: 150,
            height: 150,
          ),
        ),
      ),
    ),
  );
}

应用本地常量 示例

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

void main() {
  runApp(
    MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('应用本地常量示例'),
        ),
        body: Center(
          child: Text(
            '这是一个使用应用本地常量的示例: ${AppConstants.appName}',
          ),
        ),
      ),
    ),
  );
}

应用枚举 示例

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

void main() {
  runApp(
    MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('应用枚举示例'),
        ),
        body: Center(
          child: Text(
            '这是一个使用应用枚举的示例: ${AppAxis.horizontal}',
          ),
        ),
      ),
    ),
  );
}

应用扩展 示例

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

void main() {
  runApp(
    MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('应用扩展示例'),
        ),
        body: Center(
          child: Text(
            '这是一个使用应用扩展的示例: ${'Hello'.capitalize()}',
          ),
        ),
      ),
    ),
  );
}

应用值 示例

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

void main() {
  runApp(
    MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('应用值示例'),
        ),
        body: Padding(
          padding: AppPadding.all,
          child: Container(
            width: AppSize.large,
            height: AppSize.medium,
            color: AppColors.primaryColor,
            child: Center(
              child: Text(
                '这是一个使用应用值的示例',
                style: getMediumStyle(),
              ),
            ),
          ),
        ),
      ),
    ),
  );
}

按钮 示例

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

void main() {
  runApp(
    MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('按钮示例'),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              textFieldA(),
              SizedBox(height: AppMargin.small),
              loadButton(),
              SizedBox(height: AppMargin.small),
              buttonA(),
            ],
          ),
        ),
      ),
    ),
  );
}

字体 示例

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

void main() {
  runApp(
    MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('字体示例'),
        ),
        body: Center(
          child: Text(
            '这是一个使用字体的示例',
            style: fontPoppins(),
          ),
        ),
      ),
    ),
  );
}

多项选择 示例

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

void main() {
  runApp(
    MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('多项选择示例'),
        ),
        body: MultipleItemSelect(
          items: ['项目 1', '项目 2', '项目 3'],
          onSelectionChanged: (selectedItems) {
            print('选中的项目: $selectedItems');
          },
        ),
      ),
    ),
  );
}

显示提示框 示例

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

void main() {
  runApp(
    MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('显示提示框示例'),
        ),
        body: Center(
          child: ElevatedButton(
            onPressed: () {
              showToast('这是一个提示消息!');
            },
            child: Text('显示提示框'),
          ),
        ),
      ),
    ),
  );
}

小部件展示 示例

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

void main() {
  runApp(
    MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('小部件展示示例'),
        ),
        body: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            columnHomeItems(),
            itemsList(),
            simpleCard(),
            rowHomeItems(),
            socialMediaItem(),
          ],
        ),
      ),
    ),
  );
}

响应式 示例

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

void main() {
  runApp(
    MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('响应式示例'),
        ),
        body: Container(
          height: getHeight(50),
          width: getWidth(80),
          color: AppColors.primaryColor,
          child: Center(
            child: Text(
              '这是一个使用响应式的示例',
              style: getMediumStyle(),
            ),
          ),
        ),
      ),
    ),
  );
}

图片预览 示例

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

void main() {
  runApp(
    MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('图片预览示例'),
        ),
        body: SingleChildScrollView(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              logoContainer(),
              previewProductImage(),
              buildProductDetails(),
              socialMediaItems(),
              previewBase64Image(),
              chooseFile(),
            ],
          ),
        ),
      ),
    ),
  );
}

通用功能 示例

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

void main() {
  runApp(
    MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('通用功能示例'),
        ),
        body: Center(
          child: ElevatedButton(
            onPressed: () {
              generateCode();
              validateForm();
              openUrl('https://example.com');
              assetToUint8List('assets/image.png');
              getWidgetByIndex(0);
              getDateTimeToDay(DateTime.now());
            },
            child: Text('通用函数'),
          ),
        ),
      ),
    ),
  );
}

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

1 回复

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


当然,下面是一个关于如何在Flutter项目中使用flutterflow_components插件的代码示例。请注意,flutterflow_components是一个假设的插件名称,因为实际上并没有一个广泛认可的叫做flutterflow_components的官方Flutter插件。不过,我会以一个类似自定义组件库的方式展示如何使用插件。

假设flutterflow_components包含了一些自定义的UI组件,比如一个自定义按钮和一个自定义卡片。以下是如何在Flutter项目中使用这些组件的示例代码。

1. 添加依赖

首先,你需要在pubspec.yaml文件中添加对这个假设插件的依赖(注意:这里使用的是假设的依赖项,你需要替换为实际的插件依赖)。

dependencies:
  flutter:
    sdk: flutter
  flutterflow_components: ^1.0.0  # 假设的版本号

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

2. 导入插件

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

import 'package:flutter/material.dart';
import 'package:flutterflow_components/flutterflow_components.dart';  // 假设的导入路径

3. 使用组件

假设flutterflow_components插件提供了CustomButtonCustomCard两个组件,下面是如何在Flutter应用中使用它们的示例。

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

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

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutterflow Components Demo'),
      ),
      body: Padding(
        padding: const EdgeInsets.all(16.0),
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            // 使用自定义按钮组件
            CustomButton(
              label: 'Click Me',
              onPressed: () {
                // 按钮点击事件处理
                ScaffoldMessenger.of(context).showSnackBar(
                  SnackBar(content: Text('Button Clicked!')),
                );
              },
            ),
            SizedBox(height: 20),
            // 使用自定义卡片组件
            CustomCard(
              title: 'Card Title',
              description: 'This is a description inside a custom card.',
            ),
          ],
        ),
      ),
    );
  }
}

4. 自定义组件的实现(假设)

虽然flutterflow_components是一个假设的插件,但这里展示一下如果你要自己实现CustomButtonCustomCard可能会怎么写。

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

class CustomButton extends StatelessWidget {
  final String label;
  final VoidCallback onPressed;

  const CustomButton({Key? key, required this.label, required this.onPressed}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return ElevatedButton(
      onPressed: onPressed,
      child: Text(label),
      style: ButtonStyle(
        backgroundColor: MaterialStateProperty.all(Colors.blue),
        foregroundColor: MaterialStateProperty.all(Colors.white),
      ),
    );
  }
}

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

class CustomCard extends StatelessWidget {
  final String title;
  final String description;

  const CustomCard({Key? key, required this.title, required this.description}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Card(
      elevation: 8,
      child: Padding(
        padding: const EdgeInsets.all(16.0),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: <Widget>[
            Text(
              title,
              style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
            ),
            SizedBox(height: 8),
            Text(description),
          ],
        ),
      ),
    );
  }
}

以上代码展示了如何在Flutter项目中使用一个假设的flutterflow_components插件,并提供了自定义组件的实现示例。如果你有一个具体的flutterflow_components插件或类似的库,请确保查阅其官方文档以获取正确的使用方法和组件API。

回到顶部