键盘在Flutter中溢出文本字段

问题描述 投票:0回答:1

我不知道这是否是Flutter的bug,但是当我试图点击一个文本字段(放在我的部件树中)时,键盘会溢出它。请看 。

使用这个简单的代码 :

MaterialApp(
  title: 'App',
  home: Scaffold(
    body: SingleChildScrollView(
      child: Container(
        decoration: BoxDecoration(
          border: Border(
            top: BorderSide(color: Colors.red),
            bottom: BorderSide(color: Colors.red),
          ),
        ),
        margin: EdgeInsets.only(top: 500, bottom: 100),
        padding: EdgeInsets.only(top: 100, bottom: 100),
        child: TextField(),
      ),
    ),
    // resizetoavoidbottominset: false // Same with or without this one.
  ),
);

我使用Flutter 1.17.0 btw,没有发现任何错误(同时使用了 doctoranalyze). 顺便说一下, 我跑了一些测试yersteday (如果有人感兴趣) :

  • 我在Android 10和Android Marshmallow上进行了测试,结果都一样。
  • 如果我尝试实现 WidgetsBindingObserver 为了听 didChangeMetrics,该方法从未被调用。

我在使用Flutter 1.12时从未遇到过这种问题。

flutter keyboard flutter-layout
1个回答
0
投票

好吧,所以我使用.MaterialApp(......)作为主题,以便禁用键盘。

<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar.Fullscreen">

作为一个主题,以禁用系统覆盖。现在,如果我使用.MaterialApp(......)

<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">

那么它的工作完美。

© www.soinside.com 2019 - 2024. All rights reserved.