🛩️ UIWidgetsでページ遷移の時に引数を渡す
この記事は最終更新日から2年以上経過しています。
今ちょうどお仕事で UIWidgets を触っています。
ページ移動時に引数を渡すみたいな事がしたくて、 Flutterだと こんな感じ で動かすのですがUnityだと書き方が違っていて混乱したのでメモ。
まずは引数として渡す値のクラスを定義します。
必要な値の設定だけじゃなくて、 static
な Create
メソッドを作っておくと便利。
コピーしました
[System.Serializable]
public class ScreenArguments
{
public int id = -1;
public static ScreenArguments Create(int id)
{
ScreenArguments obj = new ScreenArguments();
obj.id = id;
return obj;
}
}
ページ遷移の時にはこんな感じで渡します。
コピーしました
Navigator.of(context).pushNamed("DetailPage", arguments: ScreenArguments.Create(id: 100));
遷移先の画面では ModalRoute
経由で値を受け取る事ができるようになります。
コピーしました
public override Widget build(BuildContext context)
{
ScreenArguments arg = ModalRoute.of(context).settings.arguments as ScreenArguments;
int currentId = -1;
if (arg != null)
{
currentId = arg.id;
}
Debug.Log(currentId);
return new Scaffold(...);
}
UIWidgets はこの度初めて触ったのですが、デザインを入れるのにRectTransformと格闘しなくてもよくなるので、作業が楽になりそうです。
Comment
comments powered by Disqus