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

Flutter 约束布局

配置插件依赖

设置组件大小 

通过属性 childConstraints 实现

分别设置 约束布局一 和 约束布局二 大大小为:160 和 200

点击查看代码文件

class SummaryPageState extends State<SummaryPage1> {ConstraintId constraintId_1 = ConstraintId('ConstraintId_1');ConstraintId constraintId_2 = ConstraintId('ConstraintId_2');@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: const Text('Summary'),),body: ConstraintLayout(childConstraints: [// todo 约束布局一Constraint(id: constraintId_1,size: 160,bottomLeftTo: parent,zIndex: 20,),// todo 约束布局二Constraint(id: constraintId_2,size: 200,topRightTo: parent,zIndex: 20,),],children: [// todo 约束布局一Container(color: Colors.redAccent,alignment: Alignment.center,child: const Text('约束布局ID:ConstraintId_1'),).applyConstraintId(id: constraintId_1),// todo 约束布局二Container(color: Colors.blueAccent,alignment: Alignment.center,child: const Text('约束布局ID:ConstraintId_2'),).applyConstraintId(id: constraintId_2),],),);}
}

位于某个视图底部

约束布局ID:ConstraintId_4 位于 ConstraintId_3 下面

点击查看代码文件

class SummaryPageState extends State<SummaryPage2> {ConstraintId constraintId_3 = ConstraintId('ConstraintId_3');ConstraintId constraintId_4 = ConstraintId('ConstraintId_4');@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: const Text('Summary'),),body: ConstraintLayout(children: [// todo 约束布局三Container(color: Colors.blue,alignment: Alignment.center,child: const Text('约束布局ID:ConstraintId_3'),).applyConstraint(id: constraintId_3,width: 200,height: 150,top: parent.top,left: parent.left,right: parent.right),// todo 约束布局四Container(color: Colors.orange,width: 200,height: 150,alignment: Alignment.center,child: const Text('约束布局ID:ConstraintId_4\n位于 ConstraintId_3 下面'),).applyConstraint(id: constraintId_4,left: parent.left,top: constraintId_3.bottom,),],),);}
}

位于某个视图底部中间

约束布局ID:ConstraintId_6 位于 ConstraintId_5 底部 中间 位置

点击查看代码文件

class SummaryPageState extends State<SummaryPage3> {ConstraintId constraintId_5 = ConstraintId('ConstraintId_5');ConstraintId constraintId_6 = ConstraintId('ConstraintId_6');@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: const Text('Summary'),),body: ConstraintLayout(children: [// todo 约束布局三Container(color: Colors.blue,alignment: Alignment.center,child: const Text('约束布局ID:ConstraintId_5'),).applyConstraint(id: constraintId_5,width: 200,height: 150,top: parent.top,left: parent.left,right: parent.right),// todo 约束布局四Container(color: Colors.orange,width: 200,height: 150,alignment: Alignment.center,child: const Text('约束布局ID:ConstraintId_6 \n 位于 ConstraintId_5 底部 中间 位置'),).applyConstraint(id: constraintId_6,left: constraintId_5.left,top: constraintId_5.bottom,right: constraintId_5.right,),],),);}
}

位于父视图中间

约束布局ID:ConstraintId_7 位于 父视图 中间 位置

点击查看代码文件

// todo © 国宝宝 2024年09月19日 周四 17:31
class SummaryPageState extends State<SummaryPage4> {ConstraintId constraintId_7 = ConstraintId('ConstraintId_7');@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: const Text('Summary'),),body: ConstraintLayout(ch

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • unix中的进程标识以及使用场景
  • Unity数据持久化4——2进制
  • 【CSS in Depth 2 精译_031】5.3 Grid 网格布局的两种替代语法
  • cpp中的namespace详解
  • 【C++】list详解及模拟实现
  • 软RAID查看状态mdstat的原理
  • 跨越数据孤岛:打造支持多种数据库的Java智能查询引擎及其商业前景
  • C# winforms DataGridView设置数据源自动显示表格
  • JAVA基础:Lock锁
  • imo云办公室 Imo_DownLoadUI.php 任意文件下载漏洞复现
  • Amesim-帮助文件翻译与总结-重要元件之firstorderlag
  • 小琳AI课堂:确保大语言模型安全的八大策略--从数据隐私到用户教育
  • Effective Java 学习笔记 方法签名设计
  • 使用python用递归实现汉诺塔算法
  • 三种springboot启动时加载方式
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • Android框架之Volley
  • css的样式优先级
  • java中的hashCode
  • Node 版本管理
  • php中curl和soap方式请求服务超时问题
  • React 快速上手 - 07 前端路由 react-router
  • Vue ES6 Jade Scss Webpack Gulp
  • vue脚手架vue-cli
  • 彻底搞懂浏览器Event-loop
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 简析gRPC client 连接管理
  • 类orAPI - 收藏集 - 掘金
  • 排序算法学习笔记
  • 浅谈Golang中select的用法
  • 思维导图—你不知道的JavaScript中卷
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 学习HTTP相关知识笔记
  • 赢得Docker挑战最佳实践
  • 用jquery写贪吃蛇
  • python最赚钱的4个方向,你最心动的是哪个?
  • 阿里云服务器如何修改远程端口?
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • !$boo在php中什么意思,php前戏
  • #NOIP 2014#Day.2 T3 解方程
  • #ubuntu# #git# repository git config --global --add safe.directory
  • #进阶:轻量级ORM框架Dapper的使用教程与原理详解
  • (1)(1.13) SiK无线电高级配置(五)
  • (2024.6.23)最新版MAVEN的安装和配置教程(超详细)
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第1节 (全局数据、栈和堆)
  • (k8s)Kubernetes 从0到1容器编排之旅
  • (WSI分类)WSI分类文献小综述 2024
  • (二)c52学习之旅-简单了解单片机
  • (分布式缓存)Redis分片集群
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (接口自动化)Python3操作MySQL数据库
  • (六)Flink 窗口计算
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包