文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

这四个 Flutter 技巧让你的编码效率大幅提升

2024-11-29 18:19

关注

更轻松的资产管理

管理资产可能非常困难。如果您想在应用程序中多次使用图像,则必须一次又一次指定路径。但对此有一个更简单的解决方案。创建一个应用程序资产类,用于存储所有应用程序资产。现在您可以使用 AppAssets.appLogo 或 AppAssets.noConnection 轻松调用您的资产。

class AppAssets {
  static const String appLogo = 'assets/images/app_logo.png';
  static const String noConnection = 'assets/images/no_connection.png';
}
import 'app_assets.dart';

Image.asset(AppAssets.appLogo),

更便捷的导入

一开始看到并管理数千个导入项是很烦人的。这就是我将向您展示一种轻松减少导入项的方法的原因。

假设您有一个文件夹 Constants,其中有文件 app_colors.dart、app_fonts.dart、app_theme.dart、app_constants 和 app_assets.dart。

图片

在这个文件夹中,您现在需要创建一个名为 constants.dart 的新文件。

图片

您可以在此处为每个文件编写导出语句。现在您只需导入 Constants.dart 即可访问每个文件:

export 'app_colors.dart';
export 'app_fonts.dart';
export 'app_theme.dart';
export 'app_assets.dart';
export 'app_constants.dart';
import 'constants.dart';

Image.asset(AppAssets.appLogo);

去除按钮的水花波纹效果

每个人都知道点击按钮时会出现的水花效果,我一点也不喜欢。

图片

所以我将向您展示如何用一行代码来消除这种效果。

为此,您需要使用 splashFactory。

InkWell(
  spalshFactory: NoSplash.splashFactory,
  child: Icon(Icons.favorite),
  onTap: () {},
)

PS:尽量找到一种替代方法来让用户知道他们是否点击了按钮。这不仅能提升用户体验,对于那些可能无法在屏幕上完全识别所有元素的残疾人来说也非常重要。

更易于使用的平台特定小部件

每个 Flutter 开发者可能都遇到过这样的情况:需要判断用户使用的是 iOS 还是 Android 设备。为此,你可能需要显示一个特定的 widget,比如 Switch 或 CupertinoSwitch。但是,如果我告诉你,你不需要进行查询,也不需要两个 widget,你信吗?那么,接下来我就告诉你如何做到这一点。

许多适用于 Android 和 iOS 的小部件在 Android 版本中都有 .adaptive 扩展名。例如,让我们用 .adaptive 构建一个开关:

Switch.adaptive(
  value: true,
  onChanged: () {},
),

图片

好吧,这已经非常好了,但最好的还在后面:这也适用于图标。为此,您只需使用 Icons.adaptive.share 在 Android 和 iOS 上显示共享图标即可。

我不确切知道所有这些功能可用于哪些小部件,但无论如何,此功能也可用于 Slider、SwitchListTile 和 CircularProgressIndicator。

能见度小部件

使用布尔值来查询某个控件是否可见通常是这样的:

isVisible ? Text('Visible') : Container(),
// OR (Slightly better)
isVisible ? Text('Visible') : SizedBox.shrink(),

但还有一个用于此目的的小部件,称为 Visibility:

Visibility(
  visible: isVisible,
  child: Text('Visible'),
),

这看起来好多了,对吧?

原文:https://tomicriedel.medium.com/these-4-flutter-hacks-will-change-how-you-code-today-d6da59a1a2cb

来源:独立开发者张张内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯