Flutter 小部件在文本字段单击后重建
我遇到了一个问题,当我点击TextField时,整个小部件会重新加载。 我不想发生这种事。 尝试了许多方法,但没有找到解决方案。我正在Android设备上运行该应用程序Flutter 小部件在文本字段单击后重建,flutter,flutter-layout,Flutter,Flutter Layout,我遇到了一个问题,当我点击TextField时,整个小部件会重新加载。 我不想发生这种事。 尝试了许多方法,但没有找到解决方案。我正在Android设备上运行该应用程序 class Testextends StatefulWidget { @override _TestState createState() => _TestState(); } class _TestState extends State<Test> { final _search = Text
class Testextends StatefulWidget {
@override
_TestState createState() => _TestState();
}
class _TestState extends State<Test> {
final _search = TextEditingController();
static final GlobalKey<ScaffoldState> _scaffoldKey = new GlobalKey<ScaffoldState>();
@override
Widget build(BuildContext context) {
return Scaffold(
key: _scaffoldKey,
appBar: AppBar(
title: Container(
height: 45,
width: MediaQuery.of(context).size.width * 0.9,
child: Row(
children: <Widget>[
Expanded(
child: TextField(
decoration: InputDecoration(
focusedBorder: OutlineInputBorder(
borderRadius: BorderRadius.all(
Radius.circular(30.0),
),
borderSide: BorderSide(color: Colors.grey[400]),
),
border: OutlineInputBorder(
borderRadius: BorderRadius.all(
Radius.circular(30.0),
),
),
labelStyle: TextStyle(color: Colors.grey[400], fontSize: 15),
labelText: 'Search...',
),
controller: _search,
onSubmitted: (_) => search(),
),
),
],
),
),
),
body: Text('Test Body'),
);
}
}
class Testextends StatefulWidget{
@凌驾
_TestState createState();
}
类_TestState扩展状态{
最终搜索=文本编辑控制器();
静态最终全局键_scaffoldKey=新全局键();
@凌驾
小部件构建(构建上下文){
返回脚手架(
钥匙:_scaffoldKey,
appBar:appBar(
标题:集装箱(
身高:45,
宽度:MediaQuery.of(context).size.width*0.9,
孩子:排(
儿童:[
扩大(
孩子:TextField(
装饰:输入装饰(
聚焦顺序:大纲输入边框(
borderRadius:borderRadius.all(
圆形半径(30.0),
),
borderSide:borderSide(颜色:Colors.grey[400]),
),
边框:大纲输入边框(
borderRadius:borderRadius.all(
圆形半径(30.0),
),
),
标签样式:文本样式(颜色:Colors.grey[400],字体大小:15),
labelText:“搜索…”,
),
控制器:_搜索,
onSubmitted:()=>search(),
),
),
],
),
),
),
正文:文本(“测试正文”),
);
}
}
有人能告诉我为什么会发生这种情况吗?我认为在这种行为中使用结果,因为MediaQuery每次维度改变时都会重建小部件。键盘一打开,尺寸就改变