Flutter textfield打开键盘颤振
从中可以看出,我对下面的文本字段有一个约束问题。一旦按下,键盘就会打开,但它会重叠并破坏整个视图。我如何解决和管理这个问题 问题可能在于qrima的维度设置不当 他们建议我在脚手架上管理所有东西,然后设置resizeToAvoidBottomInset:false,但我没有注意到任何改进Flutter textfield打开键盘颤振,flutter,text,text-editor,Flutter,Text,Text Editor,从中可以看出,我对下面的文本字段有一个约束问题。一旦按下,键盘就会打开,但它会重叠并破坏整个视图。我如何解决和管理这个问题 问题可能在于qrima的维度设置不当 他们建议我在脚手架上管理所有东西,然后设置resizeToAvoidBottomInset:false,但我没有注意到任何改进 @override Widget build(BuildContext context) { Size size = MediaQuery.of(context).size; _butt
@override
Widget build(BuildContext context) {
Size size = MediaQuery.of(context).size;
_buttonHeight = size.height * .05;
double splitPoint = size.height / 7;
return Scaffold(
resizeToAvoidBottomInset: false,
body: Stack(
children: [FutureBuilder<UserData>(
future: contentManager.getUserData(),
builder: (context, AsyncSnapshot<UserData> snapUserData) {
if (snapUserData.hasError)
return Container(
child: Center(
child: Text("There was some error"),
),
);
if (snapUserData.connectionState != ConnectionState.done)
return Container(
child: Center(
child: CircularProgressIndicator(valueColor: new AlwaysStoppedAnimation<Color>(appColors.yellow)),
),
);
return Stack(
alignment: AlignmentDirectional.center,
children: [
// SFONDO
Positioned(
bottom: 0,
child: Container(
height: size.height,
width: size.width,
color: appColors.primaryColor,
),
),
// TITOLO
Positioned(
top: size.height * .05,
child: Text(
localization.showQR,
style: Theme.of(context).primaryTextTheme.headline5.copyWith(
color: appColors.green,
fontWeight: FontWeight.bold,
),
),
),
Positioned(
top: size.height * .10,
width: size.width * .8,
child: qrCodeHolder,
),
Positioned(
bottom: size.height * .18,
width: size.width * .8,
child: AutoSizeText(
localization.home_subLabel,
textAlign: TextAlign.center,
maxLines: 1,
style: Theme.of(context).primaryTextTheme.headline5.copyWith(
color: appColors.green,
fontWeight: FontWeight.bold,
),
),
),
Positioned(
bottom: size.height * .08,
width: size.width * .7,
height: size.height * .05,
child: TextField(
inputFormatters: [
new LengthLimitingTextInputFormatter(11),
],
decoration: InputDecoration(
filled: true,
fillColor: Colors.white,
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.white),
),
enabledBorder: UnderlineInputBorder(
borderSide: BorderSide(color: Colors.white),
),
),
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 18.0,
//height: 2.0,
color: Colors.black,
),
),
),
],
);
}),
]),
);
}
}
使用SingleChildScrollView小部件包装整个内容,如下所示:
Scaffold(
body: SingleChildScrollView(
child: Stack(
)
)
)
视频被删除,请再次共享。是否要在键盘出现后调整视图大小?@AVEbrahimi啊抱歉,您可以将resizeToAvoidBottomInset设置为true,并使用SingleChildScrollView包装整个小部件接收此渲染框未布局:RenderStackafc1e relayoutBoundary=up9 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE“package:flatter/src/rendering/box.dart”:失败的断言:第1940行位置12:“hasSize”导致错误的相关小部件是:Stackfile:///Users/apple/Desktop/Work%202021/toduba-商人/lib/tabs/home\u tab.省道:78:18什么都没有?我就是无法解决