Flutter 使软键盘与其他小部件重叠-颤振

Flutter 使软键盘与其他小部件重叠-颤振,flutter,dart,soft-keyboard,Flutter,Dart,Soft Keyboard,如何使软键盘覆盖/重叠其他小部件,而不是将它们向上推,从而导致UI失控和像素溢出 我尝试了使用和不使用Stack() 我尝试了使用和不使用resizetoavidobtominset:false, 但还是没有结果 class Home extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( body: Container( chi

如何使软键盘覆盖/重叠其他小部件,而不是将它们向上推,从而导致UI失控和像素溢出

我尝试了使用和不使用
Stack()

我尝试了使用和不使用
resizetoavidobtominset:false,

但还是没有结果

class Home extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Container(
        child: Stack(
          children: <Widget>[
            ClipPath(
              clipper: CustomBackgroundClipper(),
              child: Container(
                height: 220.0,
                decoration: BoxDecoration(
                  gradient: LinearGradient(
                    colors: [
                      gradientStart, 
                      gradientEnd
                    ],
                  ),
                ),
              ),
            ),
            Container(
              height: MediaQuery.of(context).size.height,
              child: HomeTopContainer(),
            ),
          ],
        ),
      ),
    );
  }
}
class Home扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回脚手架(
主体:容器(
子:堆栈(
儿童:[
克利帕斯(
clipper:CustomBackgroundClipper(),
子:容器(
身高:220.0,
装饰:盒子装饰(
梯度:线性梯度(
颜色:[
梯度开始,
梯度终点
],
),
),
),
),
容器(
高度:MediaQuery.of(context).size.height,
子项:HomeTopContainer(),
),
],
),
),
);
}
}

我不知道您的HomeTopContainer中有什么,但就这样,它对我有用:

class Home extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      resizeToAvoidBottomInset: false,
      body: Stack(
        children: <Widget>[
          ClipPath(
            child: Container(
              height: 220.0,
              decoration: BoxDecoration(
                gradient: LinearGradient(
                  colors: [Colors.green, Colors.blue],
                ),
              ),
            ),
          ),
          Container(
            height: MediaQuery.of(context).size.height,
            child: Align(
              alignment: Alignment.bottomCenter,
              child: Column(
                children: <Widget>[
                  Spacer(),
                  Container(
                    height: 30,
                    color: Colors.red,
                  ),
                  TextField()
                ],
              ),
            ),
          ),
        ],
      ),
    );
  }
}

class Home扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回脚手架(
resizeToAvoidBottomInset:false,
主体:堆栈(
儿童:[
克利帕斯(
子:容器(
身高:220.0,
装饰:盒子装饰(
梯度:线性梯度(
颜色:[颜色。绿色,颜色。蓝色],
),
),
),
),
容器(
高度:MediaQuery.of(context).size.height,
子对象:对齐(
对齐:对齐.bottomCenter,
子:列(
儿童:[
垫片(),
容器(
身高:30,
颜色:颜色,红色,
),
TextField()
],
),
),
),
],
),
);
}
}

我建议完全删除
Align
小部件,并将
mainAxisAlignment
crossAxisAlignment
属性添加到
小部件中。

您能发布您尝试的全部代码吗?