简短的介绍
向现有的 Android 应用程序添加颤振片段是在显示键盘时在底部添加额外的填充。
描述
如果将 Flutter 片段导入到 Android 应用中并且该片段不是全屏的(例如,带有底部导航栏的屏幕),则打开键盘会在 Flutter 中添加额外的填充。
这是基本布局
这是让我们发疯的问题。
更大的图像
- https://i.stack.imgur.com/Gptqd.png
- https://i.stack.imgur.com/Qpau0.png
- https://i.stack.imgur.com/0rluD.png
图三显示了键盘和文本字段之间的填充。它显然来自颤动(因为它是白色的)。它总是与从片段末端到屏幕末端的距离相同的高度。
Android 的键盘输入可见性没有帮助。我们知道resizeToAvoidBottomInset,但是使用它会切断文本字段并且不会将活动字段滚动到视图中,这正是我们想要的。
Android 或 Flutter 中是否有一些选项可以解决此问题,还是 Flutter 框架中的错误?
例子
在github上创建了一个最小的工作示例。它包括一个小的颤振片段 + 一个 android 示例(文件 > 新建 > 新项目 > 底部导航活动)。我按照颤振文档提供的说明进行操作
扑医生
[√] Flutter (Channel stable, 2.8.0, on Microsoft Windows [Version 10.0.19044.1415], locale en-AT)
• Flutter version 2.8.0 at C:\flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision cf44000065 (5 weeks ago), 2021-12-08 14:06:50 -0800
• Engine revision 40a99c5951
• Dart version 2.15.0
[√] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
• Android SDK at C:\Users\user\AppData\Local\Android\sdk
• Platform android-31, build-tools 31.0.0
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
• All Android licenses accepted.
[√] Chrome - develop for the web
• Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe
[√] Android Studio (version 2020.3)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
[√] VS Code (version 1.63.2)
• VS Code at C:\Users\user\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.32.0
[√] Connected device (3 available)
• Pixel 4a (mobile) • • android-arm64 • Android 12 (API 31)
• Chrome (web) • chrome • web-javascript • Google Chrome 96.0.4664.110
• Edge (web) • edge • web-javascript • Microsoft Edge 96.0.1054.62
• No issues found!