Flutter:“我的对话框”中的键盘溢出

时间:2018-07-24 12:41:46

标签: dart flutter flutter-layout

我正在尝试将TextField添加到对话框,但是当出现Keyboard时,会产生溢出。 My dialog Image. When the Keyboard shows up

这是我的代码的一部分:

AlertDialog(
    content: new ListView(
      shrinkWrap: true,
  children: <Widget>[
    Text(
      "How Would You Rate Our App?",
      style: TextStyle(fontSize: 16.0, fontWeight: FontWeight.bold),
      textAlign: TextAlign.center,
    )

5 个答案:

答案 0 :(得分:5)

问题出在对话框后面的屏幕上。我遇到了同样的问题,但是上面的解决方案中没有一个可以使用我的代码,所以我使用了以下代码:

window.HTMLElement

此行位于“返回支架”下 我在此page

上找到了此解决方案

答案 1 :(得分:1)

“溢出条纹”警报实际上是在对话框后面的屏幕上,因此对话框本身没有错误。

只需尝试在后面的屏幕子屏幕上添加SingleChildScrollView()环绕! (我有同样的错误,这对我有用)

答案 2 :(得分:1)

 AlertDialog(
        content: SingleChildScrollView(
        child: Column(
          children: <Widget>[
            Text(
              "How Would You Rate Our App?",
              style: TextStyle(fontSize: 16.0, fontWeight: FontWeight.bold),
              textAlign: TextAlign.center,
        ),
        ]
    )
    )
)

答案 3 :(得分:0)

您可以简单地使用SingleChildScrollView

 AlertDialog(
        content: SingleChildScrolView(
          scrollDirection: Axis.vertical,
        child: Column(
          children: <Widget>[
            Text(
              "How Would You Rate Our App?",
              style: TextStyle(fontSize: 16.0, fontWeight: FontWeight.bold),
              textAlign: TextAlign.center,
        ),
        ]
    )
    )
)

答案 4 :(得分:0)

将此代码包装在对话框中可以为我解决此问题:

class _SystemPadding extends StatelessWidget {
  final Widget child;

  _SystemPadding({Key key, this.child}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    var mediaQuery = MediaQuery.of(context);
    return new AnimatedContainer(
        padding: const EdgeInsets.only(bottom: mediaQuery.viewInsets.bottom),
        duration: const Duration(milliseconds: 300),
        child: child);
  }
}