gpt4 book ai didi

flutter - 如何将小部件放置在可调整大小页面的特定位置? [ flutter ]

转载 作者:行者123 更新时间:2023-12-05 05:37:35 28 4
gpt4 key购买 nike

我正在处理一个页面,其中有一些字段,例如 textfieldslider。在页面的末尾必须有一个用于进行下一步的按钮,该按钮被包裹在 Align 中以在页面之间具有固定位置。

另一方面,resizeToAvoidBottomInset 属性为 true;因此,当有人点击 textfield 时,页面会调整大小以保持 textfield 可见。问题是在点击文本框的情况下,按钮会向上移动到页面中间。

现在,我想要的是一种在页面保持可调整大小的同时将按钮放置在固定位置的方法。

这里是build的代码:

Widget build(BuildContext context) {
return MaterialApp(
home: GestureDetector(
onTap: () => FocusManager.instance.primaryFocus?.unfocus(),
child: Scaffold(
extendBodyBehindAppBar: true,
resizeToAvoidBottomInset: true,
body: Stack(
children: [
const Background(),
getTopbar(),
getBody(),
getProceedButton()
],
),
),
),
);
}

这里是 getBody 函数的抽象版本:

return Padding(
padding: const EdgeInsets.only(top: topbarHeigthSmall),
child: Container(
height: MediaQuery.of(context).size.height - topbarHeigthSmall,
child: Padding(
padding: const EdgeInsets.only(right: 30, left: 30),
child: SingleChildScrollView(
child: Column(
children: [
//children of page like textfields and ...
],
),
),
),
),
);

最后是按钮的代码:

Widget getProceedButton() {
return Align(
alignment: const Alignment(0.0, 0.8),
child: Container(...),
);
}

这是点击 textfield 之前的屏幕截图:图片链接

这是之后的另一个截图: link to image

最佳答案

只需将您的按钮小部件放在 Positioned 中,如下所示:

Positioned(
top:MediaQuery.of(context).size.height * 0.8,
left: 0,
right: 0,
child: button(),);

关于flutter - 如何将小部件放置在可调整大小页面的特定位置? [ flutter ],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73089838/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com