wrap:自动换行排列,

return Padding(padding: const EdgeInsets.all(20),child:  Wrap(alignment: WrapAlignment.center,//水平居中spacing: 10,//水平间距runSpacing: 10,//垂直间距//  direction: Axis.vertical,children: [MyButton("第1级",onPressed: (){},),MyButton("第1级",onPressed: (){},),

listview里面不能放listview

可以放column

import 'package:flutter/material.dart';
import 'res/listData.dart';void main() {runApp(const MyApp());
}//单独抽成组件需要使用stateless,快捷直接输入
class MyApp extends StatelessWidget {const MyApp({super.key});@overrideWidget build(BuildContext context) {return MaterialApp(theme: ThemeData(primarySwatch: Colors.yellow,),home: Scaffold(appBar: AppBar(title: const Text("www.i7i8i9.com"),),body: const LayoutDemo(),// body: MyHomePage(),),);}
}class LayoutDemo extends StatelessWidget {const LayoutDemo({super.key});//MyHomePage({super.key});@overrideWidget build(BuildContext context) {//final size=MediaQuery.of(context).size;//不能用infinite,获取设备宽度和高度return ListView(padding: const EdgeInsets.all(10),children: [Row(children: [Text("热搜",style: Theme.of(context).textTheme.titleLarge,)],),const Divider(),Wrap(spacing: 30,runSpacing: 30,children: [MyButton("女装", onPressed: () {}),MyButton("儿童服装", onPressed: () {}),MyButton("电脑", onPressed: () {}),MyButton("手机", onPressed: () {}),MyButton("汽车", onPressed: () {}),MyButton("洗发水", onPressed: () {}),MyButton("洗衣液", onPressed: () {}),MyButton("电视", onPressed: () {}),MyButton("洗衣机", onPressed: () {}),MyButton("冰箱", onPressed: () {}),MyButton("烟酒", onPressed: () {}),MyButton("饮料", onPressed: () {}),MyButton("糖果", onPressed: () {}),MyButton("泡菜", onPressed: () {}),MyButton("水果", onPressed: () {}),],),const SizedBox(height: 20),Row(children: [Text("历史记录",style: Theme.of(context).textTheme.titleLarge,)],),const Divider(),Column(//listview里面不能放listviewchildren: const [ListTile(title: Text("女装"),),Divider(),ListTile(title: Text("手机"),),Divider(),ListTile(title: Text("电脑"),),Divider(),],),const SizedBox(height: 40,),Padding(padding: const EdgeInsets.all(40),child:  OutlinedButton.icon(style: ButtonStyle(foregroundColor: MaterialStateProperty.all(Colors.black45),),onPressed: () {},icon: const Icon(Icons.delete),label: const Text("清空历史记录")),),],);}
}//自定义按钮
class MyButton extends StatelessWidget {String text; //按钮文字void Function()? onPressed; //外部方法传入MyButton(this.text, {super.key, required this.onPressed});@overrideWidget build(BuildContext context) {return ElevatedButton(//raised button已经过时style: ButtonStyle(backgroundColor:MaterialStateProperty.all(const Color.fromARGB(242, 255, 244, 244)),foregroundColor: MaterialStateProperty.all(Colors.black45),),onPressed: onPressed,child: Text(text),);}
}

Flutter布局-wrap相关推荐

  1. 【Flutter】Flutter 布局组件 ( Wrap 组件 | Expanded 组件 )

    文章目录 一.Wrap 组件 二.Expanded 组件 三.完整代码示例 四.相关资源 一.Wrap 组件 Wrap 组件 : 该组件是可换行的水平线性布局组件 , 与 Row 组件间类似 , 但是 ...

  2. Flutter 布局Row(水平方向布局)、Column(垂直方向布局)、Wrap(可以自动换行的布局)、Flex(弹性布局)、Stack(叠层布局)、

    1.线性布局 Row 水平方向布局 Row({... //表示水平方向子组件的布局顺序(是从左往右还是从右往左),//默认为系统当前Locale环境的文本方向(如中文.英语都是从左往右,而阿拉伯语是从 ...

  3. Flutter 布局控件完结篇

    本文对Flutter的29种布局控件进行了总结分类,讲解一些布局上的优化策略,以及面对具体的布局时,如何去选择控件. 1. 系列文章 Flutter 布局详解 Flutter 布局(一)- Conta ...

  4. 【Flutter】Flutter 布局组件 ( 布局组件简介 | Row 组件 | Column 组件 | SizedBox 组件 | ClipOval 组件 )

    文章目录 一.Flutter 布局相关的组件简介 二.Row 和 Column 组件 三.SizedBox 组件 四.ClipOval 组件 五. 完整代码示例 六. 相关资源 一.Flutter 布 ...

  5. 视频教程-Flutter布局实战网易新闻客户端-flutter

    Flutter布局实战网易新闻客户端 Flutter书籍作者.曾任职于多家互联网大型企业,担任移动端项目技术负责人,主导研发和攻关技术难题,项目涉及教育.金融.医疗.交通.车载设备.智能家居等众多领域 ...

  6. 学习笔记-Flutter 布局(二)- Padding、Align、Center详解

    Flutter 布局(二)- Padding.Align.Center详解 本文主要介绍Flutter布局中的Padding.Align以及Center控件,详细介绍了其布局行为以及使用场景,并对源码 ...

  7. flutter布局-8-animated_icons动画图片

    示例 github:flutterlayout https://github.com/LiuC520/flutterlayout MaterialApp 连载:flutter布局-1-column 连 ...

  8. Flutter布局锦囊---绑定手机页

    设计给的效果如下: 拿到设计后,先把整体拆分成几个部分: "顶部导航栏",标题+取消按钮+跳过按钮的应用栏. "手机号输入框",用于获取手机号码的圆角边框输入字 ...

  9. Flutter布局锦囊---完善信息页

    设计给的效果如下: 拿到设计后,先把整体拆分成几个部分: "用户昵称输入",获取用户输入的昵称信息. "用户头像选取",获取用户选取作为头像的图片. " ...

最新文章

  1. 安防行业巨头都是如何布局无人机的?
  2. Topless eclipse导入myeclipse的web项目没法识别问题解决
  3. linux 往文件写4k大小,[svc]为何linux ext4文件系统目录默认大小是4k?
  4. (五)为边缘AI人脸识别创建人脸数据库
  5. 威廉第三的MAC系列教程(一) ——使用ACPI Patcher制作DSDT补丁
  6. Multisim 11.0完美破解(踩坑无数)
  7. 数据结构——栈与队列的异同
  8. ecshop后台首页mysql_ECSHOP后台自带数据库管理
  9. 设计模式简介 - Introduction to Design Patterns
  10. android 局域网图片 管理,支持局域网浏览/简洁美观的安卓文件管理器-es文件管理器...
  11. 计算机科学期刊是b类吗,《计算机科学》体例格式
  12. 网络编程之:IP的ULONG方式字符串方式的相互转化
  13. Machine learning strategies for systems with invariance properties( 具有不变性系统的机器学习策略 )2016年Julia Ling
  14. UPC 2021个人训练赛第10场
  15. 论文写作——5 introduction与语言逻辑(以韬韬同学ASMI27版为例)
  16. 数据中台开源解决方案(一)
  17. FS4068四节锂电池充电管理控制芯片
  18. Hive教程(一)---hive入门
  19. java集合练习题十六个国家随机分为四组
  20. u-view2.0 引入iconfont(阿里字体图标库)详细步骤!

热门文章

  1. spss数据分析(频数分析、描述性统计分析、探索性分析、连列表分析)
  2. Matlab实现PCA算法(附上完整仿真源码)
  3. 【CSDN软件工程师能力认证学习精选】 Java8新特性学习-函数式编程(Stream/Function/Optional/Consumer)
  4. 情侣、基友、渣男和狗-基于时空关联规则的影子账户挖掘
  5. 运动控制+机器视觉Demo软件框架(二):移动标定和形状匹配
  6. C语言面试题小练——第10天:宏定义一年的秒数、变量定义练习、关键字volatile有什么含意
  7. Pyecharts1.x版本全网最全教程,想学数据可视化的,看这一篇就够了!
  8. excel 2016生成汉字首拼字母小写
  9. nas918+支持的cpu_迈进PCIe 4.0 十一代酷睿IO技术大升级:不止是速度翻倍-Intel ,PCIe 4.0,酷睿,CPU ——快科技(驱动之家旗下媒体)-...
  10. 人才市场-冲刺日志(第四天)