滚动到部分可见的屏幕上的焦点小部件

时间:2020-10-11 12:05:01

标签: flutter flutter-layout flutter-animation

我正在使用以下代码打开某种底页。目标小部件在SingleChildScrollView内有一个Scaffold,以使焦点滚动到TextFormField上。但是它永远不会滚动到足以将视图带到键盘上方。

我的猜测是,这是因为整个小部件的某些部分绘制在底部显示区域的边界之外。

     Navigator.of(context).push(
      PageRouteBuilder(
       barrierDismissible: true,
       opaque: false,
       barrierColor: Colors.black.withOpacity(0.3),
       pageBuilder: (BuildContext context, Animation<double> animation,
            Animation<double> secondaryAnimation) =>
             ClipRRect(
              borderRadius: BorderRadius.only(
              topLeft: Radius.circular(25),
              topRight: Radius.circular(25),
            ),
            child: AddressSheet()),
      transitionsBuilder: (context, animation, secondaryAnimation, child) {
       return SlideTransition(
        position: animation.drive(Tween(
          begin: Offset(0, 1),
          end: Offset(0, 0.3),
        )),
        child: child,
      );
    },
  ),
);

我也尝试过SizeTransition,但无法正常工作。

0 个答案:

没有答案