当前位置: 首页 > news >正文

Flutter 扩展函数项目实用之封装SizedBox

Flutter里扩展函数可以用简化代码写法,关键字为extension,伪代码写法如下:

extension 扩展类名 on 扩展类型 {
  //扩展方法
}

在Flutter页面里实现控件间距会常用到SizedBox,可使用扩展函数封装来达到简化代码的目的,基本步骤如下:

1、创建num_extension.dart文件,扩展类名为SizedBox+类型Double+后缀Extension,代码如下:

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、使用示例对照,节选代码如下:

  ///此为不使用扩展函数的写法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),);}

http://www.lryc.cn/news/100024.html

相关文章:

  • EMC学习笔记(二十)EMC常用元件简单介绍(二)
  • 基本排序算法
  • python调用百度ai将图片/pdf识别为表格excel
  • Ansible最佳实践之Playbook管理滚动更新
  • 基于Citespace、vosviewer、R语言的文献计量学可视化分析及SCI论文高效写作方法教程
  • 【MATLAB】GM(1,1) 灰色预测模型及算法
  • Go重写Redis中间件 - Go实现Redis协议解析器
  • 海外抖音Tiktok强势来袭,有些人半年赚别人十倍工资
  • devDept Eyeshot 2024 预告-Update-Crack
  • 教雅川学缠论05-线段
  • SpringBoot 配置⽂件
  • 基于Python的电影票房爬取与可视化系统的设计与实现
  • Packet Tracer – 配置系统日志和 NTP
  • TypeScript 联合类型,类型推断,类型断言
  • 到底叫 集合还是数组还是list还是列表?
  • LBERT论文详解
  • C++终止cin输入while循环时多读取^Z或^D的问题
  • c#[WebMethod]方法接收前端传入的JsonArray的方法
  • WebService 报错 集锦
  • C++--菱形继承
  • Vue 3:玩一下web前端技术(二)
  • 自然语言处理14-基于文本向量和欧氏距离相似度的文本匹配,用于找到与查询语句最相似的文本
  • iOS开发-聊天emoji表情与自定义动图表情左右滑动控件
  • Mybatis plus 存储 List、Map
  • Electron 系统通知 Notification 实践指南
  • 配置代理——解决跨域问题(详解)
  • VScode 避免逗号、括号时自动补全
  • 【数学建模】时间序列分析
  • Spring使用注解进行对象装配(DI)
  • 数学建模-蒙特卡洛模拟