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
,但无法让它工作