Flutter UI组件库插件beagle_components的使用

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

Flutter UI组件库插件beagle_components的使用

本库提供了Beagle的基础组件。目前处于Alpha阶段,部分组件尚未实现。我们欢迎社区的帮助来改进缺失的功能。在本文档的末尾,您可以找到“开发状态”部分,其中列出了我们在发布稳定版本之前需要完成的所有工作。

版本号规则

每个Beagle Flutter的Alpha和Beta版本都会遵循0.x.y的模式,其中x是基于的Beagle Web的版本号,y是相同x值下的后续版本号。

在版本号中,x指的是Beagle Web的版本号,因为Beagle Flutter在底层使用了该库。

非空安全兼容性

对于Alpha版本,我们将不支持非空安全。然而,这是一个高优先级的实现,应该会在未来的版本中可用。

安装

  1. 打开项目的根目录下的pubspec.yaml文件。
  2. dependencies下添加beagle_components: ^0.9.0-alpha(或最新版本)。
  3. 在IDE(如Android Studio或Visual Studio Code)中点击pub get,或者从终端输入flutter pub get
dependencies:
  beagle_components: ^0.9.0-alpha

使用

使用Beagle Components库非常简单。按照以下步骤操作即可使用它。

1. 配置

使用Beagle Components库无需额外配置,但通常需要与Beagle库一起使用。要了解如何配置Beagle,请查看Beagle初始化文档

2. 引入Beagle Components

打开lib/main.dart文件,引入package:beagle/beagle.dartpackage:beagle_components/beagle_components.dart。然后,在主函数中,在渲染任何内容之前,调用BeagleSdk.init,并传递baseUrl参数和components: defaultComponents

import 'package:beagle/beagle.dart';
import 'package:beagle_components/beagle_components.dart';

void main() {
  BeagleSdk.init(
    baseUrl: 'http://yourBffBaseUrl.io', // 替换为实际的BFF Base URL
    components: defaultComponents,
  );
  runApp(const BeagleSampleApp());
}

3. 渲染远程组件

要渲染一个Beagle Widget,必须使用由Beagle库提供的BeagleWidget组件。该组件只需要一个参数screenRequest,它指定了获取第一个服务器驱动视图的请求。示例如下:

import 'package:beagle/beagle.dart';
import 'package:beagle_components/beagle_components.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';

void main() {
  BeagleSdk.init(
    baseUrl: 'http://yourBffBaseUrl.io',
    components: defaultComponents,
  );
  runApp(const BeagleSampleApp());
}

class BeagleSampleApp extends StatelessWidget {
  const BeagleSampleApp({Key key}) : super(key: key);

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Beagle Sample',
      home: Scaffold(
        body: BeagleWidget(
          screenRequest: BeagleScreenRequest('welcome'), // 请求的屏幕名称
        ),
      ),
    );
  }
}

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

1 回复

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


beagle_components 是一个用于 Flutter 的 UI 组件库插件,它基于 Beagle 框架,旨在帮助开发者快速构建跨平台的 UI 组件。Beagle 是一个声明式的 UI 框架,允许开发者通过 JSON 或 DSL 来定义 UI,并且可以在多个平台上运行,包括 Web、iOS 和 Android。

安装 beagle_components

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

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

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

使用 beagle_components

beagle_components 提供了一系列预定义的 UI 组件,你可以直接在 Flutter 应用中使用这些组件。以下是一些常见的使用示例:

1. 使用 BeagleText

BeagleText 是一个用于显示文本的组件,类似于 Flutter 的 Text 组件。

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

class MyHomePage extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Beagle Components Example'),
      ),
      body: Center(
        child: BeagleText(
          text: 'Hello, Beagle!',
          style: TextStyle(fontSize: 24, color: Colors.blue),
        ),
      ),
    );
  }
}

2. 使用 BeagleButton

BeagleButton 是一个按钮组件,类似于 Flutter 的 ElevatedButton

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

class MyHomePage extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Beagle Components Example'),
      ),
      body: Center(
        child: BeagleButton(
          text: 'Click Me',
          onPressed: () {
            print('Button Pressed!');
          },
        ),
      ),
    );
  }
}

3. 使用 BeagleImage

BeagleImage 是一个用于显示图片的组件,类似于 Flutter 的 Image 组件。

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

class MyHomePage extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Beagle Components Example'),
      ),
      body: Center(
        child: BeagleImage(
          url: 'https://example.com/image.png',
          width: 200,
          height: 200,
        ),
      ),
    );
  }
}

4. 使用 BeagleListView

BeagleListView 是一个列表组件,类似于 Flutter 的 ListView

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

class MyHomePage extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Beagle Components Example'),
      ),
      body: BeagleListView(
        children: [
          BeagleText(text: 'Item 1'),
          BeagleText(text: 'Item 2'),
          BeagleText(text: 'Item 3'),
        ],
      ),
    );
  }
}

自定义组件

beagle_components 还允许你通过 JSON 或 DSL 来定义自定义组件。你可以使用 BeagleWidget 来加载这些自定义组件。

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

class MyHomePage extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Beagle Components Example'),
      ),
      body: BeagleWidget(
        json: '''
        {
          "_beagleComponent_": "beagle:container",
          "children": [
            {
              "_beagleComponent_": "beagle:text",
              "text": "Hello, Beagle!"
            },
            {
              "_beagleComponent_": "beagle:button",
              "text": "Click Me",
              "onPress": [
                {
                  "_beagleAction_": "beagle:alert",
                  "message": "Button Pressed!"
                }
              ]
            }
          ]
        }
        ''',
      ),
    );
  }
}
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!