Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 在部分可见的屏幕上滚动到聚焦小部件_Flutter_Flutter Layout_Flutter Animation - Fatal编程技术网

Flutter 在部分可见的屏幕上滚动到聚焦小部件

Flutter 在部分可见的屏幕上滚动到聚焦小部件,flutter,flutter-layout,flutter-animation,Flutter,Flutter Layout,Flutter Animation,我正在使用下面的代码打开一种底部表单。目标小部件在Scaffold内部有一个SingleChildScrollView,允许焦点滚动到TextFormFields。但它的滚动次数永远不足以将视图显示在键盘上方 我的猜测是,这是因为整个小部件的某些部分绘制在底部显示区域的边界之外 Navigator.of(context).push( PageRouteBuilder( barrierDismissible: true, opaque: false

我正在使用下面的代码打开一种底部表单。目标小部件在
Scaffold
内部有一个
SingleChildScrollView
,允许焦点滚动到
TextFormField
s。但它的滚动次数永远不足以将视图显示在键盘上方

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

     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,
      );
    },
  ),
);
Navigator.of(context).push(
PageRouteBuilder(
是的,
不透明:假,
背景色:颜色。黑色。不透明度(0.3),
pageBuilder:(构建上下文、动画、,
动画辅助动画)=>
ClipRRect(
borderRadius:仅限borderRadius(
左上:半径。圆形(25),
右上角:半径。圆形(25),
),
子项:AddressSheet()),
transitionsBuilder:(上下文、动画、第二动画、子动画){
返回幻灯片转换(
位置:动画。驱动(吐温)(
开始:偏移量(0,1),
结束:偏移量(0,0.3),
)),
孩子:孩子,
);
},
),
);
我也尝试了
SizeTransition
,但无法让它工作