【发布时间】:2020-08-26 08:56:06
【问题描述】:
当我滑动到新路线时,我得到一个带有旋转 CircularProgressIndicator 的白色背景。新路由有一个Future,它从HTTP Post 获取数据。相反,我希望原始页面的背景保持在微调器后面,直到未来完成并发生过渡。那么如何使微调器的背景透明而不是白色呢?这是未来的代码,我认为这是触发微调器的地方;
FutureBuilder<List<ReplyContent>> replyStage({String replyid, String replytitle}) {
return new FutureBuilder<List<ReplyContent>>(
future: downloadReplyJSON(),
builder: (context, snapshot) {
if (snapshot.hasData) {
List<ReplyContent> replycrafts = snapshot.data;
return StageBuilderVR(replycrafts, replytitle);
} else if (snapshot.hasError) {
return Text('${snapshot.error}');
}
return CircularProgressIndicator();
},
);
}
这是滑动到未来的代码;
onSwipeUp: () {
Navigator.of(context).push(_createRoute());
}
还有PageRouteBuilder的代码:
Route _createRoute() {
return PageRouteBuilder(
opaque: false,
pageBuilder: (context, animation, secondaryAnimation) => ReplyHome(),
transitionsBuilder: (context, animation, secondaryAnimation, child) {
var begin = Offset(0.0, 1.0);
var end = Offset.zero;
var curve = Curves.ease;
var tween = Tween(begin: begin, end: end).chain(CurveTween(curve: curve));
return SlideTransition(
position: animation.drive(tween),
child: child,
);
},
);
}
【问题讨论】:
标签: flutter dart spinner future opacity