Flutter如何解决购物车列表项右侧溢出7.8像素的问题
问题原因
这个RIGHT OVERFLOWED溢出报错是因为购物车列表项的横向总宽度超出了屏幕可用宽度,你虽然给中间承载商品信息的VStack加了.expand()属性,但内部的文本组件没有配置溢出截断规则,当商品名称/商品规格文本过长时,会撑宽整个横向容器,最终挤压右侧操作列的空间导致溢出。
具体修复方案
你只需要修改中间VStack里的两个文本组件,增加溢出截断配置即可,修改点如下:
- 商品名称文本增加最大行数和溢出省略配置,避免过长文本无限撑宽:
原来的代码:
//product name cart.product.name.text.semiBold.xl.make(),
修改为:
//product name cart.product.name.text.semiBold.xl.maxLines(2).overflow(TextOverflow.ellipsis).make(),
- 商品规格文本同样增加溢出截断配置,避免规格内容过长导致溢出:
原来的代码:
cart.optionsSentence.text.lg.gray600.medium.make()
修改为:
cart.optionsSentence.text.lg.gray600.medium.maxLines(1).overflow(TextOverflow.ellipsis).make()
- (可选)如果修改完文本后仍有溢出,可以给
VxStepper增加最大宽度限制,适配小屏设备:
VxStepper( defaultValue: cart.selectedQty ?? 1, min: 1, max: cart.product.availableQty ?? 20, disableInput: true, onChange: onQuantityChange, ).box.maxWidth(context.percentWidth * 30).make(),
内容的提问来源于stack exchange,提问作者Bonface Senerwa
相关产品推荐
相关产品推荐

