gpt4 book ai didi

dart - 当键盘出现时,屏幕上的所有小部件都会隐藏起来

转载 作者:IT王子 更新时间:2023-10-29 06:41:29 25 4
gpt4 key购买 nike

我正在使用 TabBar 和自定义搜索 View ,当我在 TextField 中单击进行搜索时,键盘会弹出我的所有 View 隐藏,附上下面的屏幕截图。这是 flutter 问题还是我的代码做错了。请看看我的代码。没有弹出键盘我这工作正常。

return new Scaffold(

body: new Container(
// margin: EdgeInsets.all(10.0),

//color: Colors.white30,

child: new Column(
children: <Widget>[
new Container(
height: 70.0,
color: Theme.of(context).primaryColor,
child: new Padding(
padding: const EdgeInsets.all(8.0),
child: new Card(
child: new Container(
child: new Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Padding(
padding: const EdgeInsets.only(left: 3.0),
child: new Icon(Icons.search),
),

new Container(

width: MediaQuery.of(context).size.width - 100.0,
// Subtract sums of paddings and margins from actual width
child: new TextField(
controller: controller,
decoration: new InputDecoration(
hintText: 'Search', border: InputBorder.none),
// onChanged: onSearchTextChanged,
),
),

new IconButton(icon: new Icon(Icons.cancel), onPressed: () {
controller.clear();
// onSearchTextChanged('');
FocusScope.of(context).requestFocus(new FocusNode());
},),



],
),
)
))),
new Flexible(
child: new ListView.builder(
itemCount: productList == null ? 0 : productList.length,
itemBuilder: (BuildContext context, int index) {

return new Container(

child: new Column(
children: <Widget>[
new Container(
margin: EdgeInsets.all(10.0),


child: new Column(

children: <Widget>[
new Column(
children: <Widget>[
new Padding(padding: const EdgeInsets.only(top: 5.0)),
new Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[

new Container(
alignment: FractionalOffset.topLeft ,
width: 250.0,
child: new Column(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
new Text(productList[index].name,

style: new TextStyle(color: Colors.black,
fontSize: 18.0, fontWeight: FontWeight.bold),
)

],
),
),


new Text("£"+productList[index].price.toString(),
style: new TextStyle(color: Colors.black,
fontSize: 18.0, fontWeight: FontWeight.bold
),),

],
)


],
),

new Row(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
new Flexible(
child: new Column(
crossAxisAlignment: CrossAxisAlignment.start ,
children: <Widget>[

new Text(

productList[index].description,
overflow: TextOverflow.fade ,),
],
))
],
),

new Row(
mainAxisAlignment: MainAxisAlignment.end,
children: <Widget>[
new ListTileItemAddRemove(productList[index]),


new Padding(padding: EdgeInsets.only(bottom: 10.0))
],
)


],
),
),
new Divider(color: Colors.black,)
],
),

);

}),
),
],
)


),
);

enter image description here

当我在 TextField 中单击时,所有小部件都会消失。请看下面。

enter image description here

最佳答案

我认为当键盘弹出时 flutter 小部件会调整大小,我通过在 Scaffold 中设置 resizeToAvoidBottomPadding 的值 false 解决了这个问题。问题已解决,但我仍在寻找此问题背后的原因。

return new Scaffold(
resizeToAvoidBottomPadding : false,
body: new Container(
-
-
-
-
}

关于dart - 当键盘出现时,屏幕上的所有小部件都会隐藏起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51648646/

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