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

flutter_ui_common简介

flutter_ui_common 是一个用于快速构建通用UI组件的Flutter插件。它可以帮助开发者快速实现一些常见的UI功能,从而减少重复工作。

插件信息

  • 版本:
    flutter_ui_common version
  • 大小:
    flutter_ui_common size
  • 问题数量:
    flutter_ui_common issues
  • 喜欢数量:
    flutter_ui_common issues

功能描述

flutter_ui_common 是一个可以与单个设备通信的蓝牙低功耗(BLE)插件。


特性

  • 提供Flutter的示例UI。
  • 演示效果:

使用示例

以下是一个完整的示例代码,展示如何在Flutter项目中使用 flutter_ui_common 插件。

import 'package:flutter/material.dart';
import 'package:flutter_ui_common/flutter_ui_common.dart'; // 导入插件

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

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

class MyHomePage extends StatefulWidget {
  final String title;

  MyHomePage({required this.title});

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  // 定义UI组件的状态
  bool _isButtonEnabled = false;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            // 使用flutter_ui_common中的示例按钮
            ButtonCommon(
              text: "点击我",
              isEnabled: _isButtonEnabled, // 控制按钮是否可用
              onPressed: () {
                setState(() {
                  _isButtonEnabled = !_isButtonEnabled; // 切换按钮状态
                });
              },
            ),
            SizedBox(height: 20), // 添加间距
            Text(
              '按钮状态: ${_isButtonEnabled ? "已启用" : "已禁用"}',
              style: TextStyle(fontSize: 18),
            ),
          ],
        ),
      ),
    );
  }
}

代码说明

  1. 导入插件:
    import 'package:flutter_ui_common/flutter_ui_common.dart';
1 回复

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


flutter_ui_common 是一个通用的 Flutter UI 组件库,旨在帮助开发者快速构建美观且一致的应用程序界面。它提供了一系列常用的 UI 组件,如按钮、卡片、对话框、表单元素等,可以大大减少开发时间。

安装

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

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

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

使用示例

以下是一些常用组件的使用示例:

1. 按钮

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

class MyHomePage extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter UI Common Example'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            UIButton(
              text: 'Primary Button',
              onPressed: () {
                print('Primary Button Pressed');
              },
            ),
            SizedBox(height: 10),
            UIButton(
              text: 'Secondary Button',
              type: UIButtonType.secondary,
              onPressed: () {
                print('Secondary Button Pressed');
              },
            ),
          ],
        ),
      ),
    );
  }
}

2. 卡片

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

class MyHomePage extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter UI Common Example'),
      ),
      body: Center(
        child: UICard(
          child: Padding(
            padding: EdgeInsets.all(16.0),
            child: Text('This is a card with some content.'),
          ),
        ),
      ),
    );
  }
}

3. 对话框

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

class MyHomePage extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter UI Common Example'),
      ),
      body: Center(
        child: UIButton(
          text: 'Show Dialog',
          onPressed: () {
            UIDialog.show(
              context,
              title: 'Dialog Title',
              content: 'This is a dialog content.',
              actions: [
                UIButton(
                  text: 'OK',
                  onPressed: () {
                    Navigator.of(context).pop();
                  },
                ),
              ],
            );
          },
        ),
      ),
    );
  }
}

4. 表单元素

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

class MyHomePage extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter UI Common Example'),
      ),
      body: Padding(
        padding: EdgeInsets.all(16.0),
        child: Column(
          children: <Widget>[
            UITextField(
              label: 'Username',
              hint: 'Enter your username',
            ),
            SizedBox(height: 10),
            UITextField(
              label: 'Password',
              hint: 'Enter your password',
              obscureText: true,
            ),
            SizedBox(height: 20),
            UIButton(
              text: 'Login',
              onPressed: () {
                print('Login Button Pressed');
              },
            ),
          ],
        ),
      ),
    );
  }
}

自定义主题

flutter_ui_common 允许你自定义主题以匹配你的应用设计。你可以在 MaterialApp 中设置主题:

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

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

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter UI Common Example',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        // 自定义 UI 组件主题
        uiTheme: UIThemeData(
          primaryColor: Colors.blue,
          secondaryColor: Colors.green,
          // 其他自定义属性
        ),
      ),
      home: MyHomePage(),
    );
  }
}
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!