我正在尝试删除 的默认边距persistentFooterButtons,但我找不到它,因为它收到了一个小部件列表。
我正在使用extendBody: true中Scaffold。
持久页脚按钮边距
\n
persistentFooterButtons: [\n Container(\n color: const Color.fromRGBO(240, 240, 240, 0.9),\n width: double.infinity,\n child: Padding(\n padding: const EdgeInsets.symmetric(horizontal: 2, vertical: 2),\n child: Row(\n children: [\n Expanded(\n child: GestureDetector(\n child: Column(\n children: [\n const Image(\n image: AssetImage(\'assets/images/home.png\'),\n height: 35,\n ),\n Text(\n "In\xc3\xadcio",\n style: TextStyle(\n fontSize: 10,\n color: Theme.of(context).primaryColor,\n ),\n ),\n ],\n ),\n ),\n ),\n ],\n ),\n ),\n )\n ],\nRun Code Online (Sandbox Code Playgroud)\n 我有一个带有图标的提升按钮,该图标使用 放置在文本左侧ElevatedButton.icon。我真正想要的是将图标放置在文本的右侧。我该如何做我的代码:
ElevatedButton.icon(
onPressed: onPressed,
icon:Icon(icon,
color: color != null ? color : null,
size: getIconSize(),
),
label: Text(label),
style: buttonStyle);
Run Code Online (Sandbox Code Playgroud)
外观如何:
我想要的是 :
下一页->
在我的 flutter 应用程序中,我需要一个布局,如果所有小部件对于屏幕来说都太长,我可以滚动,所以我添加了一个 SingleChildScrollView。但是,如果小部件较小并留有大量空间,我希望将最后一行固定到屏幕底部,并在最后两项之间留出空白。所以我添加了一个垫片来帮助解决这个问题。
然而,这会导致错误,因为 SingleChildScrollView 不喜欢 Spacer。我已经尝试了我所知道的一切,但我找不到满足这两个条件且没有错误的布局。有人可以建议一个解决方案吗?
下面的代码 - 您可能需要更改容器的大小(或数量)才能在您的设备上演示该问题。
class _TestMain extends State<TestMain> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(
child: Container(
child: SingleChildScrollView(
child: Column(
children: [
Container(
color: Colors.blue,
height: 100,
),
Container(
color: Colors.yellow,
height: 100,
),
Container(
color: Colors.green,
height: 100,
),
Container(
color: Colors.pink,
height: 100,
),
// comment out these four containers to demonstrate issue
Container(
color: Colors.blue,
height: 100,
),
Container(
color: Colors.yellow,
height: 100,
),
Container(
color: …Run Code Online (Sandbox Code Playgroud) 我试图在 useEffect 挂钩内显示 Snackbar,但它显示错误。如果我理解得很好,我无法从 useEffect 内部访问上下文。那么,我该怎么办呢?
这是错误:“无法侦听 HookState.initState 内继承的小部件。请改用 HookState.build”。
useEffect(() {
const snackBar = SnackBar(
content: Text('Test'),
);
ScaffoldMessenger.of(context).showSnackBar(snackBar);
return;
}, []);
Run Code Online (Sandbox Code Playgroud)
我正在尝试从 useEffect 内部显示一个对话框。
我有2个类,其中一个类需要传递数据,而B类没有这个类的数据,比如登录类将注册数据传递给A类,但是B类没有这个数据,但是需要访问到A级?
我用了Navigation.of(context).pushNamed(context, classB.id)
但不工作
我是 flutter 新手,我想做这个设计,我花了一段时间才找到要使用的内容,但每次我尝试对其进行编码并使用 Listview 时,它都会给我错误,或者卡片不与 Gridview 对齐。

我使用 MediaQuery.of(context).viewInsets.bottom 根据键盘大小确定填充。升级到 Flutter 3.10 后,现在底板与键盘重叠了!
void onTotalsButtonPressed() {
showModalBottomSheet(
context: context,
builder: (context) => SingleChildScrollView(
padding:
EdgeInsets.only(bottom: MediaQuery.of(context).viewInsets.bottom),
child: AddProduct(
items: Provider.of<Products>(context, listen: false).searchItems,
type: OrderTypes.sales,
),
),
isScrollControlled: true,
);
}
Run Code Online (Sandbox Code Playgroud)
当我在另一台机器上使用 Flutter 3.7.12 构建应用程序时,它运行良好,并且填充是根据键盘状态动态确定的!
我用来CustomPainter创建一个三角形。我想创建一个带边框的三角形。
我的 PaintTriangle 课程:
class PaintTriangle extends CustomPainter {
final Color backgroundColor;
PaintTriangle({
required this.backgroundColor,
});
@override
void paint(Canvas canvas, Size size) {
final y = size.height;
final x = size.width;
final paint = Paint()..color = backgroundColor;
final path = Path()
..moveTo(0, y)
..lineTo((x / 2), (y / y))
..lineTo(x, y);
canvas.drawPath(path, paint);
}
@override
bool shouldRepaint(CustomPainter oldDelegate) => true;
}
Run Code Online (Sandbox Code Playgroud) 我想为自定义添加连锁反应Container。我已经使用Inkwell和Material小部件来实现此行为,但它不起作用。代码如下:
@override
Widget build(BuildContext context) {
return Center(
child: Material(
color: Colors.transparent,
child: InkWell(
onTap: (){},
child: Container(
width: 150,
height: 100,
decoration: BoxDecoration(
border: Border.all(color: Colors.red, width: 2),
borderRadius: BorderRadius.circular(18),
color: Colors.deepPurpleAccent,
),
alignment: Alignment.center,
child: Text(
"A box container",
style: TextStyle(color: Colors.white),
),
),
),
),
);
}
Run Code Online (Sandbox Code Playgroud)
结果是:
我还使用了透明颜色Container和紫色,Material如下所示:
@override
Widget build(BuildContext context) {
return Center(
child: Material(
color: Colors.deepPurpleAccent,
child: InkWell(
onTap: () {},
child: Container( …Run Code Online (Sandbox Code Playgroud)