在iPhone上,“返回”功能只在屏幕边缘可用。如何在屏幕的任何位置滑动以返回上一页?
正确的方法是:
MaterialApp(
.
.
.
theme: ThemeData(
pageTransitionsTheme: PageTransitionsTheme(
builders: {
TargetPlatform.android: CupertinoPageTransitionsBuilder(),
TargetPlatform.iOS: CupertinoPageTransitionsBuilder(),
}
)
),
.
.
.
);
CupertinoPageRoute
- 它提供了iOS风格的动画。但是从左向右滑动返回到上一页仍然无法工作。 - Andrii Turkovskyiimport 'package:cupertino_back_gesture/cupertino_back_gesture.dart';
BackGestureWidthTheme( backGestureWidth: BackGestureWidth.fraction(1 / 2), child: MaterialApp(
theme: ThemeData(
pageTransitionsTheme: PageTransitionsTheme(
builders: {
TargetPlatform.android: FadeUpwardsPageTransitionsBuilder(),
TargetPlatform.iOS: CupertinoPageTransitionsBuilderCustomBackGestureWidth(),
},
),
),
home: MainPage(),
),
)
theme: ThemeData(
primarySwatch: Colors.green,
pageTransitionsTheme: const PageTransitionsTheme(
builders: {
TargetPlatform.android: CupertinoPageTransitionsBuilder(),
},
),
),
如果你正在进行路由操作,请使用CupertinoPageRoute而不是MaterialPageRoute,这样它会正常工作。
您可能正在寻找PageView
,它允许滑动手势进行下一页/上一页操作。
Navigator.of(context).push( PageRouteBuilder( pageBuilder: (_, animation, __) { return FadeTransition( opacity: animation, child: MoviePage(movie: movie), ); }, ), );
- Yogi Arif Widodo