Flutter通用UI组件插件common_ui_toolkit的使用

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

Flutter通用UI组件插件common_ui_toolkit的使用

关于Common Ui Toolkit

Common UI toolkit是一个Flutter UI包,允许您创建多品牌跨平台移动应用程序。它包含一组具有相似样式的通用UI组件。最棒的是:可以在运行时更改主题,而无需重新加载应用程序。

包含的内容

  • 全面清晰的文档,附带大量示例。
  • 主题系统 - 使用浅色和现代深色主题,并创建自己的主题。

入门应用

Common UI toolkit技巧 - 允许您加快移动应用程序的开发。有各种可自定义的布局,可以“按原样”使用或添加新模块。

如何支持开发者?

  • 这里给我们点赞。
  • 为我们的GitHub仓库⭐星标。
  • 加入我们在Discord上的Common UI toolkit频道。

贡献者

感谢以下贡献者:

Hassan Al-Najjar Alaa Alzibda
Hassan Al-Najjar Alaa Alzibda

许可证

采用MIT许可证。

示例代码

下面是一个完整的示例demo,展示如何使用common_ui_toolkit包:

main.dart

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

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 设置全局配置
  setGlobalConfig(
    textModel: const CommonTextModel(
      fontColor: Colors.red,
      fontWeight: FontWeight.bold,
      fontSize: 16.0,
      textAlign: TextAlign.right,
    ),
    buttonModel: const CommonButtonModel(
      height: 0.05,
      borderRadius: 0.03,
      marginTop: 0.1,
      borderWidth: 2,
    ),
    inputModel: const CommonInputModel(
      borderColor: Colors.red,
      enabledBorderColor: Colors.red,
    ),
  );

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Common UI Toolkit Demo',
      home: HomeScreen(),
    );
  }
}

class HomeScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Home Screen'),
      ),
      body: Padding(
        padding: EdgeInsets.all(16.0),
        child: Column(
          children: <Widget>[
            // 示例文本
            CommonText(
              'Hello, World!',
              style: CommonTextStyles().h2Style().copyWith(
                    fontColor: Colors.blue,
                  ),
            ),
            SizedBox(height: 20),
            
            // 示例按钮
            CommonButton(
              label: 'Click Me',
              onPress: () {
                print('Button pressed');
              },
              type: ButtonTypes.primary,
            ),
            SizedBox(height: 20),

            // 示例输入框
            CommonInput(
              placeholder: 'Enter your name',
              onChange: (value) {
                print('Input value: $value');
              },
            ),
          ],
        ),
      ),
    );
  }
}

以上示例展示了如何在Flutter应用中使用common_ui_toolkit提供的基本组件,包括文本、按钮和输入框。您可以根据需要进一步扩展和定制这些组件,以满足您的具体需求。

更多详细信息和高级用法,请参阅官方文档


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

1 回复

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


当然,以下是如何在Flutter项目中使用common_ui_toolkit插件的一些示例代码。请注意,由于common_ui_toolkit可能是一个假设的插件名称,实际使用时你可能需要替换为真实存在的插件。不过,我会提供一个假设性的通用UI组件插件的使用示例,以便你理解如何集成和使用这样的插件。

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

dependencies:
  flutter:
    sdk: flutter
  common_ui_toolkit: ^latest_version  # 替换为实际插件的版本号

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

示例代码

以下是如何在Flutter应用中使用假设的common_ui_toolkit插件的几个示例。

1. 使用通用按钮组件

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Common UI Toolkit Demo'),
        ),
        body: Center(
          child: CommonButton(
            text: 'Click Me',
            onPressed: () {
              print('Button clicked!');
            },
          ),
        ),
      ),
    );
  }
}

在这个例子中,我们假设common_ui_toolkit提供了一个名为CommonButton的按钮组件。

2. 使用通用对话框组件

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Common UI Toolkit Demo'),
        ),
        body: Center(
          child: ElevatedButton(
            onPressed: () {
              showCommonDialog(
                context: context,
                title: 'Alert',
                content: 'This is a common dialog.',
                actions: <Widget>[
                  TextButton(
                    onPressed: () {
                      Navigator.of(context).pop();
                    },
                    child: Text('OK'),
                  ),
                ],
              );
            },
            child: Text('Show Dialog'),
          ),
        ),
      ),
    );
  }
}

// 假设插件中未提供showCommonDialog方法,我们需要自己实现一个简单的对话框
Future<void> showCommonDialog({
  required BuildContext context,
  required String title,
  required String content,
  required List<Widget> actions,
}) async {
  return showDialog<void>(
    context: context,
    builder: (BuildContext context) {
      return AlertDialog(
        title: Text(title),
        content: Text(content),
        actions: actions,
      );
    },
  );
}

在这个例子中,我们假设common_ui_toolkit可能提供了一个简化的对话框显示方法showCommonDialog,但这里我们为了演示自己实现了一个类似的对话框。

3. 使用通用加载指示器组件

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Common UI Toolkit Demo'),
        ),
        body: Center(
          child: FutureBuilder<void>(
            future: Future.delayed(Duration(seconds: 3)),
            builder: (BuildContext context, AsyncSnapshot<void> snapshot) {
              if (snapshot.connectionState == ConnectionState.waiting) {
                return CommonLoadingIndicator(); // 假设插件提供的加载指示器
              } else {
                return Text('Loading complete!');
              }
            },
          ),
        ),
      ),
    );
  }
}

在这个例子中,我们假设common_ui_toolkit提供了一个名为CommonLoadingIndicator的加载指示器组件。

总结

以上示例展示了如何在Flutter项目中集成和使用假设的common_ui_toolkit插件。实际使用时,你需要参考插件的官方文档和API来了解具体的组件和用法。如果插件不存在,你可能需要寻找类似的通用UI组件库,或者自己封装这些组件。

回到顶部