Flutter 小技巧之 ListView 和 PageView 的各种花式嵌套

news/2024/11/16 21:56:12/

Flutter 小技巧之 ListView 和 PageView 的各种花式嵌套

在 Flutter 中,ListView 和 PageView 是两个常用的控件,它们可以用于滑动展示大量内容的场景,且支持各种嵌套方式,本文将介绍其中的一些花式嵌套方式。

ListView 嵌套 ListView

在某些场景下,我们需要在 ListView 中展示另一个 ListView,比如在一个订单列表中,每个订单又包含了多个商品。此时我们可以在每个订单条目中再嵌入一个 ListView 来展示商品列表。

ListView.builder(itemCount: orders.length,itemBuilder: (context, index) {return Column(children: [// 订单条目ListTile(// ...),// 商品列表ListView.builder(shrinkWrap: true,physics: NeverScrollableScrollPhysics(),itemCount: orders[index].items.length,itemBuilder: (context, i) {return ListTile(// ...);},),],);},
)

在嵌套 ListView 时,需要注意内层 ListView 的 shrinkWrap 属性必须为 true,physics 属性必须为 NeverScrollableScrollPhysics。

ListView 嵌套 PageView

在某些场景下,我们需要在 ListView 中展示一个 PageView,比如在一个带有轮播图的新闻列表中,每个新闻条目下方都有一个图片轮播。

ListView.builder(itemCount: newsList.length,itemBuilder: (context, index) {return Column(children: [// 新闻条目ListTile(// ...),// 图片轮播SizedBox(height: 200,child: PageView.builder(itemCount: newsList[index].images.length,itemBuilder: (context, i) {return Image.network(newsList[index].images[i],fit: BoxFit.cover,);},),),],);},
)

在嵌套 ListView 和 PageView 时,需要注意内层的 PageView 需要指定高度,并且不要使用 NeverScrollableScrollPhysics,否则可能会导致图片无法滑动。

PageView 嵌套 ListView

在某些场景下,我们需要在 PageView 中展示多个 ListView,比如在一个带有分类切换的商品列表中,每个分类下都有一个商品列表。

PageView.builder(controller: _pageController,itemCount: categories.length,itemBuilder: (context, index) {return ListView.builder(itemCount: products[index].length,itemBuilder: (context, i) {return ListTile(// ...);},);},
)

在嵌套 PageView 和 ListView 时,需要注意内层 ListView 需要指定高度,并且不要使用 NeverScrollableScrollPhysics,否则可能会导致页面无法滑动。

总结

ListView 和 PageView 是两个非常强大的控件,它们的嵌套方式也非常灵活,可以满足各种场景下的需求。但是在嵌套时需要注意一些细节,以免出现问题。希望本文能对大家有所帮助。


http://www.ppmy.cn/news/590868.html

相关文章

ipadpro尺寸的html,iPad Pro尺寸到底有多大?

近日,有媒体曝光了了12英寸iPad Pro的保护套图片,从保护套的大小可以和iPad Air 2进行对比,两者尺寸的差距,粗略估计,iPad Pro机身尺寸是307mm222mm。从图片上看,新的iPad Pro的接口等布局还是有了一些新的…

iPad各尺寸_前进的火车_新浪博客

机型 屏幕尺寸 像素 点 (单位:英寸) iPad 9.7寸 1536*2048 768*1024 iPad Pro 9.7 9.7寸 1…

iPad适配

iOS14支持的iPad有7种尺寸(强制横屏模式),都是近似4:3。 全部都是2倍图。 根据上下感应区分为两种种情况:1.上下都没有;2.上下都有。 底部感应区大小:0或20物理像素两种尺寸。 顶部感应区:20物理…

iphone,ipad,android图片尺寸

①iPhone的设计尺寸 iPhone界面尺寸: 设备 分辨率 状态栏高度 导航栏高度 标签栏(工具栏)高度 iPhone6 plus设计版 1242 2208 60px 132px 146px iOS APP设计一稿支持iPhone5/iPhone6/Plus设计流程 一套完整的UI设计规范手册(IOS版) 移动端界…

iPhone和iPad屏幕尺寸和分辨率

(尺寸:对角线长短;分辨率:逻辑分辨率,单位为Point点) iPad 第一代,iPad 第二代: 尺寸:9.7英寸(25cm) 分辨率:1024*768 iPad 第三代&…

上架APPStore 截图尺寸要求

上架APPStore 截图尺寸要求 概述 一般只要求iphone 6.5英寸和5.5英寸截图即可;如果适配了平板就需要上传ipad截图了。 6.5 英寸(iPhone 11 Pro Max、iPhone 11、iPhone XS Max、iPhone XR):纵向分辨率为1242 x 2688 像素&#…

iphoneipad图标尺寸

ios项目icon和default图片命名规则 分类: iphone开发 2012-04-28 15:57 62人阅读 评论(0) 收藏 举报 一、应用图片 标准iOS控件里的图片资源,苹果已经做了相应的升级,我们需要操心的是应用自己的图片资源。就像当初为了支持iPhone 4而制作的2…

如何用ipad录屏,实现16:9视频录制格式?

文章目录 1、录制策略2、其他:1)腾讯会议录制场景2)水文请忽略 1、录制策略 1、打开控制中心 在iPad上向上滑动屏幕,打开控制中心。您也可以在设置中选择控制中心,并将“屏幕录制”添加到控制中心中。 2、开始录制 在…