Flutter 工具库插件fleasy的使用

Flutter 工具库插件fleasy的使用

Fleasy 是一个旨在简化Flutter应用开发的插件,它提供了多种扩展、辅助类和小部件来帮助开发者编写更简洁、易读的代码。以下是对该插件的一些关键特性的介绍,并附上示例demo。

主要特性概览

  • 字符串扩展:包括isNotBlank, isBlank, toNullIfBlank, isEmail, isUrl, isEasyPassword, isMediumPassword, isStrongPassword, 和 addHttps
  • BuildContext 扩展(适应性助手):如获取屏幕尺寸、宽度、高度、方向等。
  • BuildContext 扩展(主题助手):用于检查当前主题是亮色还是暗色模式。
  • BuildContext 扩展(导航助手):提供页面推送和弹出功能。
  • BuildContext 扩展(Flashbars):用于显示成功、信息、错误或无连接状态的Flashbar/toast消息。
  • 列表扩展:判断列表是否为空或为null。
  • 日期时间扩展:提供日期时间操作方法,如格式化日期、复制日期对象等。
  • Date 辅助类:获取今天的日期、明天的日期、昨天的日期等。
  • Insets 辅助类:提供一组固定的间距值,用于UI布局。

示例Demo

使用EasyFutureBuilder显示未来数据

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

void main() => runApp(FleasyExamples());

class FleasyExamples extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      title: 'Fleasy examples',
      home: EasyFutureBuilderExampleInt(),
    );
  }
}

class EasyFutureBuilderExampleInt extends StatelessWidget {
  final Future<int?> future = (() async {
    await Future<void>.delayed(const Duration(seconds: 1));
    return 1;
  })();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: EasyFutureBuilder<int?>(
          future: future,
          dataBuilder: (context, data) => Text(data.toString()),
        ),
      ),
    );
  }
}

此示例展示了如何使用EasyFutureBuilder来处理异步数据,并在数据加载完成后展示结果。

使用BuildContext扩展获取屏幕信息

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

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: Text('Screen Info Example')),
        body: Center(
          child: Builder(builder: (context) {
            String orientation = context.screenOrientation == Orientation.portrait ? "Portrait" : "Landscape";
            return Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: <Widget>[
                Text('Width: ${context.screenWidth}'),
                Text('Height: ${context.screenHeight}'),
                Text('Orientation: $orientation'),
              ],
            );
          }),
        ),
      ),
    );
  }
}

在这个例子中,我们利用了BuildContext的扩展来轻松获取设备的方向以及屏幕的宽度和高度。

通过这些实例,我们可以看到Fleasy插件确实能够极大地简化我们的代码编写过程,使得我们的应用程序更加易于维护和理解。


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

1 回复

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


Flutter 工具库插件fleasy主要特性概览 字符串扩展:包括isNotBlank, isBlank, toNullIfBlank, isEmail, isUrl, isEasyPassword, isMediumPassword, isStrongPassword, 和 addHttps。 BuildContext 扩展(适应性助手):如获取屏幕尺寸、宽度、高度、方向等。 列表扩展:判断列表是否为空或为null。 日期时间扩展:提供日期时间操作方法,如格式化日期、复制日期对象等。 Date 辅助类:获取今天的日期、明天的日期、昨天的日期等。 Insets 辅助类:提供一组固定的间距值,用于UI布局。

回到顶部