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项目开发的广阔天地里,Text组件的使用可谓是无处不在,其出现频率之高几乎贯穿整个应用的每个角落。这些Text元素依据设计视图展现着千姿百态的面貌,而开发者则需要依据设计图精心调配不同的TextStyle,以赋予它们独特的风貌。

想象一下,若每个Text都需要我们手动书写形如TextStyle(xx, xx...)的冗长代码,那无疑会给开发者带来巨大的负担,同时也会导致代码量激增,显得杂乱无章。幸运的是,有了dev_prokit 这一得力助手,一切变得如此轻松与简洁。

二、功能介绍

dev_prokit 提供了下面对 TextStyle 处理的方法:

final TextStyle tStyle = TextStyle(height: 1, fontFamily: 'Rcod')

方法名 功能 用法
fInherit 文本样式是否继承父 Widget 的样式 tStyle.fInherit(true)
fColor 设置文本颜色, 还可以设置透明度和不透明度 sStyle.fColor(Colors.red)
bgColor 设置文本背景颜色, 还可以设置透明度和不透明度 sStyle.bgColor(Colors.red)
fSize 设置文本字体大小 sStyle.fSize(20)
thin、extraLight、light、normal、regular、plain、medium、semiBold、bold、extraBold、black 设置文本字重 sStyle.bold
fStyle 设置文本字体样式 sStyle.fStyle(FontStyle.italic)
lSpacing 设置文本字符之间的间距 sStyle.lSpacing(2)
wSpacing 设置文本字体之间的间距 sStyle.wSpacing(2)
tbl 设置文本字体的基线 sStyle.tbl(TextBaseline.ideographic)
tld 设置文本之间的对齐方式 sStyle.tld(TextLeadingDistribution.proportional)
oFlow 设置文本溢出处理方式 sStyle.oFlow(TextOverflow.ellipsis)
fHeight 设置文本高度 sStyle.fHeight(1)
fFamily 设置文本字体名字 sStyle.fFamily('仿宋')
familyFallback 设置文本字体名字失败时,回调使用字体 sStyle.familyFallback(['小宋'、'篆体'])

... 等等。还有很多未介绍的功能方法,请自行查看文档便可即知。

三、小试牛刀

下面我们将使用 dev_prokit 提供的方法中常用的的方法进行测试:

  • 示例代码

    dart 复制代码
    const TextStyle tStyle = TextStyle(fontFamily: 'Rc', height: 1);
    return Scaffold(
      appBar: AppBar(
        title: Text(
          '文本样式',
          style: tStyle.bold,
        ),
      ),
      body: Column(
        children: [
          Text(
            '设置字重',
            style: tStyle.medium,
          ),
          Text(
            '设置大小',
            style: tStyle.fSize(20),
          ),
          Text(
            '设置文本颜色',
            style: tStyle.fColor(Colors.red),
          ),
          SizedBox(
            width: 60,
            child: Text(
              '设置溢出格式',
              style: tStyle.oFlow(TextOverflow.ellipsis),
            ),
          ),
          Text(
            '设置文字字母间距',
            style: tStyle.lSpacing(5),
          ),
          Text(
            '设置文字字体间距ab like',
            style: tStyle.wSpacing(50),
          )
        ],
      ).insetsAll(20),
    );
  • 效果展示

四、鼓励与支持

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

相关推荐
Utopia^2 小时前
鸿蒙flutter第三方库适配 - 联系人备份工具
flutter·华为·harmonyos
CYRUS_STUDIO3 小时前
Frida 检测与对抗实战:进程、maps、线程、符号全特征清除
android·逆向
csj504 小时前
安卓基础之《(28)—Service组件》
android
lhbian6 小时前
PHP、C++和C语言对比:哪个更适合你?
android·数据库·spring boot·mysql·kafka
catoop7 小时前
Android 最佳实践、分层架构与全流程解析(2025)
android
ZHANG13HAO7 小时前
Android 13 特权应用(Android Studio 开发)调用 AOSP 隐藏 API 完整教程
android·ide·android studio
田梓燊8 小时前
leetcode 142
android·java·leetcode
angerdream8 小时前
Android手把手编写儿童手机远程监控App之JAVA基础
android
念格8 小时前
Flutter 仿微信输入框最佳实践:自适应高度 + 超行数智能切换全屏
前端·flutter
菠萝地亚狂想曲9 小时前
Zephyr_01, environment
android·java·javascript