android - 如何去除右溢出7.8像素
问题描述
我正在开发一个电子商务网站,其中包括基于 web 的管理后端和使用颤振的 android 和 IOS 的前端。我面临一个关于如何删除切割项目上的“RIGHT OVERFLOWED BY 7.8 PIXEL”错误的问题。如下图所示
这是我的颤振代码。我将文件命名为 cart.list_item.dart
import 'package:flutter/material.dart';
import 'package:flutter_icons/flutter_icons.dart';
import 'package:fuodz/models/cart.dart';
import 'package:fuodz/constants/app_strings.dart';
import 'package:fuodz/utils/ui_spacer.dart';
import 'package:fuodz/widgets/custom_image.view.dart';
import 'package:velocity_x/velocity_x.dart';
class CartListItem extends StatelessWidget {
const CartListItem(
this.cart, {
this.onQuantityChange,
this.deleteCartItem,
Key key,
}) : super(key: key);
final Cart cart;
final Function(int) onQuantityChange;
final Function deleteCartItem;
@override
Widget build(BuildContext context) {
//
final currencySymbol = AppStrings.currencySymbol;
return HStack(
[
//
//PRODUCT IMAGE
CustomImage(
imageUrl: cart.product.photo,
width: context.percentWidth * 18,
height: context.percentWidth * 18,
).box.clip(Clip.antiAlias).roundedSM.make(),
//
UiSpacer.horizontalSpace(),
VStack(
[
//product name
cart.product.name.text.semiBold.xl.make(),
UiSpacer.verticalSpace(space: 0),
//product options
cart.optionsSentence.isNotEmpty
? cart.optionsSentence.text.lg.gray600.medium.make()
: UiSpacer.emptySpace(),
cart.optionsSentence.isNotEmpty
? UiSpacer.verticalSpace(space: 10)
: UiSpacer.verticalSpace(space: 5),
//
VxStepper(
defaultValue: cart.selectedQty ?? 1,
min: 1,
max: cart.product.availableQty ?? 20,
disableInput: true,
onChange: onQuantityChange,
),
],
).expand(),
//
UiSpacer.horizontalSpace(),
VStack(
[
//delete icon
Icon(
FlutterIcons.delete_ant,
size: 16,
color: Colors.white,
)
.centered()
.p8()
.onInkTap(
this.deleteCartItem,
)
.box
.roundedFull
.color(Colors.red)
.make(),
//cart item price
UiSpacer.verticalSpace(),
"$currencySymbol ${(cart.selectedQty * cart.price).numCurrency}"
.text
.semiBold
.xl
.make(),
],
crossAlignment: CrossAxisAlignment.end,
)
],
);
}
}
解决方案
你可以用这个包裹溢出的小部件,Padding
这会给你一些空间。
例如,
Padding(
padding: EdgeInsets.all(10.0), \\add padding to Left,top,right,bottom
child: (Your_Widget)
),
或仅用于右侧:
Padding(
padding: EdgeInsets.only(right: 10.0), \\add padding only to right side
child: (Your_Widget)
),
推荐阅读
- npm - 无法在 Nexus 上代理 npm 范围内的包
- django - 如果每个条目上的文件相同,则 Django 管理命令生成模型条目会损坏文件
- python - Volttron,BACnet 设备不支持分段
- typescript - 如何在我的本地函数中分配全局实例
- css - Prevent dynamic change of content from text to an element from expanding the width of the column
- openstack - Openstack Devstack Magnum:创建堆栈超时,检查堆栈失败
- node.js - 如何在 Google Cloud Task 上配置凭据
- python - 在没有 CSV 的情况下将 CSV 附加到 Python 中的电子邮件
- c++ - 将 char[] 变量转换为 uintptr_t 变量 C++
- javascript - 按字符数对循环数据进行分组