尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Flutter第八节-----Flutter布局与状态管理实战指南
一.状态更新-setstate●场景计数器点击进行数量1点击-进行数量-1U川视图需要进行相应更新。●语法数据的变化要更新Ul视图需要执行setState方法setState方法会造成ouild的重新执行。●案例实现一个计数器案例import package:flutter/material.dart; void main(ListString args) { runApp(pagewidget()); } class pagewidget extends StatefulWidget { pagewidget({Key? key}) : super(key: key); override _pagewidgetState createState() _pagewidgetState(); } class _pagewidgetState extends Statepagewidget { int count 0; override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( body: Center( child: Row( children: [ TextButton( onPressed: () { setState(() { count - 1; print(count); }); }, child: Text(减), ), Text(count.toString()), TextButton( onPressed: () { setState(() { count 1; print(count); }); }, child: Text(加), ), ], ), ), ), ); } }二.Flutter组件-布局组件●Flutter提供了丰富强大的布局组件来构建各种用户界面。下面这个表格汇总了最核心的几类布局组件1.基础容器---container●定义Container是功能丰富的布局组件是一个多功能组合容器●尺寸控制可通过多种方式定义大小有明确优先级规则。●优先级明确宽高constraints约束父组件约束自适应组件大小●装饰系统通过decoration属性实现视觉效果但和color属性互斥●布局控制提供内外边距和对齐方式●可选变化支持绘制时进行矩阵变换如旋转、倾斜、平移等import package:flutter/cupertino.dart; import package:flutter/material.dart; void main(ListString args) { runApp(pagewidget()); } class pagewidget extends StatelessWidget { const pagewidget({Key? key}) : super(key: key); override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( body: Container( transform: Matrix4.rotationZ(0.05), alignment: Alignment.center, margin: EdgeInsets.all(20), width: 200, height: 200, decoration: BoxDecoration( color: Colors.blue, borderRadius: BorderRadius.circular(15), border: Border.all(width: 3, color: CupertinoColors.systemYellow), ), child: Text( Hello world!, style: TextStyle(color: Colors.white, fontSize: 20), ), ), ), ); } }三.Flutter组件---居中组件●Center:将其子组件在父容器的空间内进行水平和垂直方向上的居中排列import package:flutter/cupertino.dart; import package:flutter/material.dart; void main(ListString args) { runApp(pagewidget()); } class pagewidget extends StatelessWidget { const pagewidget({Key? key}) : super(key: key); override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar(title: Text(center代码示例), centerTitle: true), body: Center( child: Container( width: 100, height: 100, decoration: BoxDecoration(color: Colors.blue), child: Center( child: Text(居中内容, style: TextStyle(color: Colors.white)), ), ), ), ), ); } }●应用场景页面内容整体居中如将一个登录表单或一个加载中的提示图标在页面正中显示●注意事项Center:不能设置宽高Centert的最终大小取决于其父组件传递给它的约束Center会向它的父组件申请尽可能大的空间●实现固定宽高且居中的组件Center去包裹一个具有固定宽高的子组件。Container/SizeBox
RELATED

相关推荐

AM62L MCASP与ADC寄存器配置:FIFO、DMA与中断实战解析

AM62L MCASP与ADC寄存器配置:FIFO、DMA与中断实战解析

1. 项目概述:深入AM62L外设寄存器,构建高效数据流控制 在嵌入式系统开发,尤其是涉及实时音频处理或高速数据采集的应用中,德州仪器的Sitara系列处理器因其强大的集成外设和灵活的配置能力而备受青睐。最近在为一个工业音频网关项目…

📅 2026/8/23 17:36:52
AI多Agent协作系统实战(十七):凌晨4点,我的AI系统在“假装工作“——3个bug同时爆炸的5小时

AI多Agent协作系统实战(十七):凌晨4点,我的AI系统在“假装工作“——3个bug同时爆炸的5小时

系列第17篇 | 一个bug不可怕,三个同时来才致命 凌晨4点的飞书 2026年7月17日,凌晨4点。 我睡不着,打开飞书看了一眼小密(我的AI统筹Agent)的消息。然后我愣住了: 【小密统筹报告 07-17 04:04】 【小密统…

📅 2026/8/23 17:36:52
Unity程序化网格生成:从零构建圆柱体Mesh的完整指南

Unity程序化网格生成:从零构建圆柱体Mesh的完整指南

1. 项目概述:为什么我们要亲手绘制网格? 在Unity开发中,Mesh(网格)是构成一切3D可视物体的基石。无论是屏幕上旋转的立方体,还是角色身上随风飘动的披风,其视觉形态最终都由Mesh定义。我们通常从…

📅 2026/8/23 17:36:53
MORE NEWS

更多资讯

📰

Lexical Markdown 集成指南:@lexical/markdown 的导入导出、快捷键与 Transformers 深度解析

Lexical Markdown 集成指南:lexical/markdown 的导入导出、快捷键与 Transformers 深度解析 【免费下载链接】lexical Lexical is an extensible text editor framework that provides excellent reliability, accessibility and performance. 项目地址: https://…

📰

嵌入式开发板完整使用流程:从硬件准备到外设联调的七步闭环

1. 什么是“完整的开发板使用流程”?它到底解决什么问题?开发板不是玩具,也不是插上电就能跑的黑盒子。我带过十几届嵌入式方向的实习生,几乎所有人第一次拿到开发板时,都以为只要装个驱动、点一下烧录按钮&#xff0c…

📰

SadTalker 安装教程:一张人像加一段音频,5 步生成说话视频

SadTalker 安装教程:一张人像加一段音频,5 步生成说话视频 【免费下载链接】SadTalker [CVPR 2023] SadTalker:Learning Realistic 3D Motion Coefficients for Stylized Audio-Driven Single Image Talking Face Animation 项目地址: http…

📰

Actual 怎么在银行账户导入 CSV 文件时设置日期格式与收支分列

Actual 怎么在银行账户导入 CSV 文件时设置日期格式与收支分列 【免费下载链接】actual A local-first personal finance app 项目地址: https://gitcode.com/GitHub_Trending/ac/actual 当你从银行网站只能导出 CSV(而不是 OFX/QFX 这类财务文件&#xff09…

📰

LunaTranslator 快速上手:按游戏类型选捕获方式的 Galgame 实时翻译完整指南

LunaTranslator 快速上手:按游戏类型选捕获方式的 Galgame 实时翻译完整指南 【免费下载链接】LunaTranslator 视觉小说翻译器 / Visual Novel Translator 项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator 打开一款日文视觉小说后&#xf…

📰

RP2040 DMA寄存器详解:Pico底层实时开发硬核指南

1. 这不是“又一篇DMA教程”,而是Pico底层开发者必须啃下的硬骨头你手里的树莓派 Pico,那块不到5美元的双核ARM Cortex-M0小板子,绝不是一块只会点灯、串口打印的入门玩具。它内置的DMA控制器,是真正能让你绕过CPU、让外设自己“跑…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬