Flutter如何实现Text完美封装
发表于:2024-11-16 作者:千家信息网编辑
千家信息网最后更新 2024年11月16日,这篇文章主要介绍"Flutter如何实现Text完美封装",在日常操作中,相信很多人在Flutter如何实现Text完美封装问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答
千家信息网最后更新 2024年11月16日Flutter如何实现Text完美封装
这篇文章主要介绍"Flutter如何实现Text完美封装",在日常操作中,相信很多人在Flutter如何实现Text完美封装问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Flutter如何实现Text完美封装"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
使用惯了android的布局,对Flutter的组件和布局简直深恶痛绝啊,于是下定决心,一点一点封装Flutter的基础组件,今天封装的是Text组件,自认为封装的非常完美,完全可以用android布局的写法来写Text了,而且可以直接设置margin,padding,color,font,等等所有的属性,只需要一行代码就能实现,废话不多说,先看效果
我们可以看到,颜色,边框,圆角通通都设置完成了,还有其他的属性,就不都一一展示了,实现这个效果需要哪些代码呢?看下面
TextView( "自定义textview自定义textview自定义textview自定义textview自定义textview", backgroundColor: Colors.red, textColor: Colors.white, padding: 10, cornerRadius: 10, borderColor: Colors.yellow, borderWidth: 1, marginTop: 5, singleLine: false, )
是的,跟android布局的方法完全一样,再也不用嵌套container再也不要写什么style了!!!
具体的封装实体类如下,为了纪念android,我叫他TextView,具体属性参考代码里面,应该都很简单易懂吧
import 'package:flutter/material.dart'; class TextView extends StatelessWidget { double? padding = 0; double? margin = 0; double? paddingLeft = 0; double? paddingRight = 0; double? paddingTop = 0; double? paddingBottom = 0; double? marginLeft = 0; double? marginRight = 0; double? marginTop = 0; double? marginBottom = 0; double? fontSize = 0; Color? textColor = Colors.black; Color? backgroundColor = Colors.white; AlignmentGeometry? alignment = Alignment.center; double? cornerRadius = 0; double? borderWidth = 0; Color? borderColor = Colors.white; String content = ""; bool? singleLine = false; bool? isBold = false; TextView(this.content, {this.textColor, this.backgroundColor, this.padding, this.paddingTop, this.paddingBottom, this.paddingRight, this.paddingLeft, this.cornerRadius, this.borderColor, this.borderWidth, this.marginBottom, this.marginLeft, this.marginRight, this.marginTop, this.margin, this.fontSize, this.singleLine, this.isBold}) { if (padding != null) { if (padding != null && padding! > 0) { paddingLeft = padding; paddingRight = padding; paddingBottom = padding; paddingTop = padding; } } if (margin != null) { if (margin != null && margin! > 0) { marginLeft = margin; marginTop = margin; marginRight = margin; marginBottom = margin; } } } @override Widget build(BuildContext context) { return Container( margin: EdgeInsets.fromLTRB(this.marginLeft ?? 0, this.marginTop ?? 0, this.marginRight ?? 0, this.marginBottom ?? 0), decoration: new BoxDecoration( border: new Border.all( width: this.borderWidth ?? 0, color: this.borderColor ?? Colors.white), color: this.backgroundColor, borderRadius: new BorderRadius.all(new Radius.circular(this.cornerRadius ?? 0)), ), padding: EdgeInsets.fromLTRB(this.paddingLeft ?? 0, this.paddingTop ?? 0, this.paddingRight ?? 0, this.paddingBottom ?? 0), child: Text( content, style: TextStyle( color: this.textColor, fontSize: this.fontSize ?? 14, fontWeight: this.isBold ?? false ? FontWeight.bold : FontWeight.normal, overflow: this.singleLine ?? false ? TextOverflow.ellipsis : TextOverflow.clip), ), ); }}
到此,关于"Flutter如何实现Text完美封装"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
封装
布局
学习
代码
属性
组件
效果
方法
更多
帮助
实用
深恶痛绝
接下来
一行
下定决心
不用
写法
决心
圆角
基础
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
科技互联网宝贝
传感器数据如何存储到数据库
网络安全宣传观后感小学生写的
10年数据库系统概论
我的起源服务器满了如何邀请好友
手机数据库型号
网络安全hw代表什么
percent数据库中括号
网络怎么设置不显示服务器
博山软件开发定制
网络安全靶标是什么意思
胡苗网络安全
非标准协议 网络安全
首都机场网络安全保障
服务器的任务管理器在哪
vb如何写数据库文件地址
上饶至衢州火车数据库
软件开发预算模版
涉密信息系统甲级软件开发
阿里云服务器是正品吗
战地1标准版地图的服务器
如何修改dz数据库密码
旺财软件开发
天津专业网络技术服务标准
网络安全涉及方面
软件系统的数据库在哪
软件开发工程师和前端
数据库求年龄
icsd有机晶体结构数据库
江阴自制计算机网络技术诚信为本