1

我在垂直 PageView 中有两个页面。

PageView(
  controller: pageController,
  scrollDirection: Axis.vertical,
  children: [
    PageA(),
    PageB(),
  ],
)

下页 (B) 包含以下内容:

Column
  Row
    ...
  Expanded
    ListView
  Card
    Container
      Row
       ...
       Flexible
         Padding
           TextFormField

每当我聚焦和取消聚焦 TextFormField 时,就会出现问题。

Expetation:键盘弹出,Expanded ListView 缩小,使 TextFormField 在键盘上方。当键盘被关闭时,ListView 应该展开并且页面应该看起来像以前一样。

相反会发生什么:当键盘被解除时,ListView 扩展回其原始大小,但页面 (B) 保持在键盘所在位置上方的偏移并且不会向下移动。最终结果是,页面 (B) 向上偏移,因此部分在屏幕外,我必须手动向下滚动它。

页面 B 本身具有固定大小,一旦向下滚动,就无法手动向上偏移。

TL;DR:PageView 在关闭键盘后将页面部分推离屏幕。

任何帮助都非常感谢,并在此先感谢:D

编辑:添加屏幕截图:编辑文本字段之前、期间和之后

编辑2:我认为它与页面浏览本身及其滚动物理有关。

4

0 回答 0