【发布时间】:2020-02-11 05:12:15
【问题描述】:
如何更改应用主题中设置的过渡持续时间/速度?
我可以使用MaterialApp 的主题更改过渡动画。下面的示例将默认转换替换为FadeTransition。使用淡入淡出过渡时感觉很慢,我无法弄清楚如何更改主题中设置的过渡持续时间。
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
final themeData = ThemeData(
pageTransitionsTheme: PageTransitionsTheme(builders: {
TargetPlatform.iOS: FadeTransitionBuilder(),
TargetPlatform.android: FadeTransitionBuilder(),
}),
);
class FadeTransitionBuilder extends PageTransitionsBuilder {
@override
Widget buildTransitions<T>(_, __, animation, ___, child) => FadeTransition(opacity: animation, child: child);
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Mobile',
theme: themeData,
initialRoute: '/',
routes: routes,
);
}
}
【问题讨论】:
-
在颤振源代码中这看起来是硬编码为 300 毫秒???:github.com/flutter/flutter/blob/dev/packages/flutter/lib/src/…
标签: android ios flutter flutter-animation flutter-theme