dev_prokit 值组件边缘插入

往期优选推荐

1. Fam 最简单的 Flutter 项目 Assets 管理脚本服务

推荐指数: ⭐️⭐️⭐️⭐️⭐️

》fam 和 flutter_gen 相比优点《

  1. fam 不需要在项目的 pubspec.yaml 文件的 dev_dependencies 引入任何东西;而 flutter_gen 需要引入 flutter_gen_runner

  2. fam 在导入资源后只需要执行 fam run 即可;而 flutter_gen 需要执行 dart run build_runner build 。需要注意的是 dart run build_runner build 是很多代码自动生成的运行指令(多语言、json解析、rividerpod...等)。所以一旦执行就需要很长时间才能完成,而 fam 拥有独立的体系,便捷快速!

  3. fam 的资源管理类在项目中使用简短;而 flutter_gen 需要使用.语法一直到资源文件,然后再通过 .path 获取资源路径,这很麻烦!

  4. fam 拥有独立的系统体系; flutter_gen 和多语言的使用有一定的冲突。

2. dev_prokit 全部功能目录

推荐指数: ⭐️⭐️⭐️⭐️⭐️

该篇文章包含了 dev_prokit 所有功能介绍和示例的目录。此文章能够让开发者快速的了解 dev_prokit 都提供了那些功能,以及能更快速的找到自己需要的功能介绍和应用。

本期功能介绍

一、起因

在Flutter开发中,子组件与父组件之间的边距通常默认为零,以追求界面的紧凑与高效。然而,随着业务需求的多样化与设计视图的丰富性,我们也经常面临边距不为零的情况。在这些场景中,我们一般会根据设计图精确测量所需的边距大小,并借助Padding属性进行设置。尽管这种方法能够实现预期效果,但编写代码的过程往往较为繁琐,且不够便捷高效。

为此,我们特别推荐使用 dev_prokit 库中的几种高效方法来实现组件边缘的灵活插入。这些方法不仅简化了代码编写过程,还提升了开发效率,使您能够更轻松地应对各种边距设置需求。通过使用 dev_prokit,您将能够更加便捷地创建出精美且符合设计要求的Flutter应用界面。

二、功能介绍

dev_prokit 提供实现组件边缘快速插入的方法如下:

方法名称 适用范围 功能介绍
insets Widget 和 Sliver 组件 给组件添加边距,参数为 EdgeInsets 类型
insetsAll Widget 和 Sliver 组件 给组件四边添加相同边距值,参数为 double 类型
insetsOnly Widget 和 Sliver 组件 给组件某一边添加边距值,参数为 double 类型
insetsSymmetric Widget 和 Sliver 组件 给组件某一方向添加边距值,参数为 double 类型
insetsLTRB Widget 和 Sliver 组件 给组件左上右下添加边距值,参数为 double 类型
insetsLerp Widget 和 Sliver 组件 给组件根据给定的两个边距对象以及时间进行组件边距进行线性差值设置
insetsFromViewPadding Widget 和 Sliver 组件 创建与给定视图匹配的边距
sliverInsets Sliver 和继承 Sliver 组件 创建 Sliver 组件和继承Sliver组件的边距

注意事项:

  1. 上述表格的前 7 个方法适用于 flutter 中全部普通组件和以 Sliver 开头的所有 Sliver 组件,包括继承组件,
  2. 最后一个方法只适用于 Sliver组件和继承 Sliver 的组件,
  3. 但是前 7 个方法不支持不以 Sliver 开头的继承组件。例如: class PageBoxAdapter extends SliverToBoxAdapter

三、小试牛刀

下面我们使用 dev_prokit 给我们提供的方法进行组件边缘插入测试。

  • 示例代码

    dart 复制代码
    ColoredBox(
    color: Colors.red,
    child: Column(
      children: [
        Container(
          color: Colors.white,
          child: const Text('进行组件边缘插入')
              .insetsSymmetric(horizontal: 50, vertical: 10),
        ),
        ColoredBox(
          color: Colors.black,
          child: SizedBox(
            height: 60,
            child: Container(
              color: Colors.green,
            ).insetsOnly(top: 30, right: 100),
          ),
        )
      ],
    ).insetsAll(20),
  • 效果展示

四、鼓励与支持

这便是 dev_prokit 提供的方法之一。以编写代码较少、功能完善、代码运行强壮、支持面广等形式来开发 dev_prokit 包。 如果你有 Idea 或者 Opinion ,那请你点击此处 》》Idea & Opinion《《 把它留下吧!如果你在使用该功能后感觉还可以,它能够给你的项目开发带来便捷,那请你为之点个⭐️ dev_prokit ⭐️ 吧!分享给更多需要它的开发者。

相关推荐
试行34 分钟前
Android实现自定义下拉列表绑定数据
android·java
Dingdangr5 小时前
Android中的Intent的作用
android
技术无疆5 小时前
快速开发与维护:探索 AndroidAnnotations
android·java·android studio·android-studio·androidx·代码注入
GEEKVIP5 小时前
Android 恢复挑战和解决方案:如何从 Android 设备恢复删除的文件
android·笔记·安全·macos·智能手机·电脑·笔记本电脑
AiFlutter11 小时前
Flutter之Package教程
flutter
Jouzzy12 小时前
【Android安全】Ubuntu 16.04安装GDB和GEF
android·ubuntu·gdb
极客先躯13 小时前
java和kotlin 可以同时运行吗
android·java·开发语言·kotlin·同时运行
Mingyueyixi15 小时前
Flutter Spacer引发的The ParentDataWidget Expanded(flex: 1) 惨案
前端·flutter
Good_tea_h15 小时前
Android中的单例模式
android·单例模式
计算机源码社20 小时前
分享一个基于微信小程序的居家养老服务小程序 养老服务预约安卓app uniapp(源码、调试、LW、开题、PPT)
android·微信小程序·uni-app·毕业设计项目·毕业设计源码·计算机课程设计·计算机毕业设计开题