こんにちは! Flutter楽しんでますか?
アンドロイドアプリ作ってみるとActivity移動が必要場合あります。
その時、intentを使うんですね?startActivityとかさ。
FlutterでActivity移動ももちろん、
で
き
ます。
例えば、こんな感じです。
1. Navigator.pop(context);
2. Navigator.of(context).pop();
3. Navigator.of(context).push();
4. Navigator.of(context).push(builder:()...);
はい。stackです。
アンドロイドNative開発もactivityはStack Memoryにどんどん溜まっていきます。あなたはActivity間移動する際にアニメーション付けたくなりませんか? FlutterではPageRouteBuilderを相続して、作りたい移動クラスをコーティングすると簡単にできます。
こんな感じです。
import 'package:flutter/material.dart';
class ScaleRoute extends PageRouteBuilder {
final Widget widget;
ScaleRoute({this.widget})
: super(pageBuilder: (BuildContext context, Animation<double> animation,
Animation<double> secondaryAnimation) {
return widget;
}, transitionsBuilder: (BuildContext context,
Animation<double> animation,
Animation<double> secondaryAnimation,
Widget child) {
return ScaleTransition(
scale: Tween<double>(
begin: 0.0,
end: 1.0,
).animate(
CurvedAnimation(
parent: animation,
curve: Interval(0.00, 0.5, curve: Curves.elasticIn)),
),
child: ScaleTransition(
scale: Tween<double>(
begin: 0.5,
end: 1.0,
).animate(CurvedAnimation(
parent: animation,
curve: Interval(0.5, 1.0, curve: Curves.decelerate,
)
),
),
child: child,
),
);
});
}
簡単?ですかね
1.pageBuilder :(){}
2.transitionsBuilder(){}
に、あなたが試してみたいアニメーションを使うとオッケーです。