ios - 如何在键盘外观上为 Flutter 布局设置动画

我正在构建一个 Flutter 应用,主要用于 iOS。

我的一个 View 有一个文本字段,当您点击它时会出现 iOS 键盘。问题是 - 布局不会像在原生 iOS 应用程序中那样平滑更改。相反,它会在键盘打开动画结束之前立即跳转到最终可用的屏幕高度。

我尝试将我的 SafeArea 元素包装在 AnimatedSizeAnimatedContainer - 它没有帮助。

我的布局代码:

SafeArea(child:
  Column(children:[
    TextField(...)
  ])
)

如何在键盘出现时让布局平滑调整大小?

预期:

实际

最佳答案

我使用类似的东西:

AnimatedPadding(
        padding: MediaQuery.of(context).viewInsets,
        duration: const Duration(milliseconds: 100),
        curve: Curves.decelerate,
        child: ....
    )

这会根据 viewInsets(软件键盘高度)为填充设置动画。

https://stackoverflow.com/questions/54563854/

相关文章:

flutter - 保留选项卡 View 页面之间的状态

android - Flutter:在 Android Studio 中打开 android 模块被

flutter - 在 FutureBuilder 中设置提供者值

flutter - 小部件测试失败,未找到任何 MediaQuery 小部件

flutter - 在 Flutter PageView 中切换页面时丢失小部件状态

flutter - 当 Flutter TextField 中的键盘可见时,键盘顶部有很多空白区域

android - 在 Scroll Flutter 上隐藏 Appbar?

android - 为什么我的 Flutter 应用的 ListView 滚动不如 Flutter

string - flutter/Dart : Convert HEX color string t

flutter - Flutter 目录不是 GitHub 项目的克隆