Flutter里扩展函数可以用简化代码写法,关键字为extension,伪代码写法如下:
extension 扩展类名 on 扩展类型 {
//扩展方法
}
在Flutter页面里实现控件间距会常用到SizedBox,可使用扩展函数封装来达到简化代码的目的,基本步骤如下:
1、创建num_extension.dart文件,扩展类名为SizedBox+类型Double+后缀Extension,代码如下:文章来源:https://www.toymoban.com/news/detail-617545.html
import 'package:flutter/material.dart';
extension SizedBoxDoubleExtension on double {
SizedBox get width => SizedBox(width: this);
SizedBox get height => SizedBox(height: this);
SizedBox withHeight(double height) => SizedBox(width: this, height: height);
}
2、使用示例对照,节选代码如下:文章来源地址https://www.toymoban.com/news/detail-617545.html
///此为不使用扩展函数的写法
Widget _buildRow() {
return Row(
children: [
_buildText("1"),
const SizedBox(
width: 10,
),
_buildText("2"),
const SizedBox(
width: 10,
),
_buildText("3"),
],
);
}
///此为使用扩展函数的写法,要简洁些
Widget _buildRowExtension() {
return Row(
children: [
_buildText("1"),
10.0.width,
_buildText("2"),
10.0.width,
_buildText("3"),
],
);
}
Widget _buildText(String text) {
return Text(
text,
style: const TextStyle(color: Colors.blue),
);
}
到了这里,关于Flutter 扩展函数项目实用之封装SizedBox的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!