見出し画像

【FlutterFlow】PageView専用アクションでページ遷移をコントロール

前回記事からの続きです。PageViewウィジェットを使って「オンボーディング」(新規ユーザーにアプリの導入説明する複数ページ)を作っています。

前回は、インジケータのカスタマイズを紹介しました。ドットの間隔やドットの丸みを調整したり、さてまたはドットを透明化したりと詳細な設定ができましたね

さて、今回は、ボタンを使ったページ遷移をやりましょう。スクロールやドットのタップを使ってもページ遷移させることは、もちろんできるのですが、選択肢としてボタンも考えておきたいですよね。

ということで、さっそくボタンを使ったページ遷移、やってみましょう!

どんなアクションのボタンが必要?

オンボーディング用のページには、どんなボタンを設置しましょうか。「次へ」ボタンですよね。でも、実際には、「前へ」や「スキップ」というボタンもあった方がいいでしょうね。

では、まずは「次へ」ボタンを作ってみましょう!

PageViewウィジェットには、3つのPaView Pageがあります。

ボタンを配置したいPageView Pageには、Stackウィジェットをいれておきましょう。そのStack内にボタン・ウィジェットを追加します。こうすることで、画像の上にボタンを配置できますね。

ボタンが新規設置されたら、任意の場所にボタンを移動しておきましょう。

はい、以上がボタン設置です。ボタンウィジェットを置くのは、Stack内であることに注意しておきましょう。

ボタンテキストの更新

続いて、ボタンテキストを変更しましょう。

ボタン・ウィジェットを選択して、ボタン・テキストを「Next」に変更しました。

はい、テキストが更新されました。

ボタンの外観は、とりあえずこれでいいでしょう。

PageView専用!アクション設定

次は肝心のアクション設定です。これがちょっとコツがいるんだな。

ボタン・ウィジェットのアクションタブを開きます。Add Actionボタンをクリックします。

さて、どんなアクションを追加しますか?Navigate to?はい、私もそう思いました。しかし、実は違います。下図のようにpageなどと検索して、「Control Page View」を選びます。おお、PageView用のアクション!

制御対象のPageViewを選びます。

PageViewを選びます。アプリ内には、一つしかPageViewしかないし、ウィジェット名も変更していないので。

どこに移動するかを選びます。Nextでいいですね。このほか、前、最初、最後と選べます。スキップというアクションは、PageView外のページに移動することなので、Navigate toアクションを使えばいい、ということでしょう。

はい、これで1ページ目のNextボタンをタップすると、2ページ目に遷移させることができるようになりました。パチパチ。

2ページ目にボタンを複製

無事、PageView Pageの遷移ボタンができましたが、もう少しやってみましょう!

2ページ目にも、まったく同じボタンを配置すれば、3ページ目に遷移できるようになりますよね。だって、アクションの遷移先を「次へ」と、相対的に設定したのですから。

試します!ボタンを複製します。

複製されたボタンをカットして、2つ目のPageView Page内スタックにペーストします。

複製できましたよ~。

2ページ目に複製されたボタンをタップすると、3ページ目に遷移するようになりました~。やったね~。

あとは、2ページ目と3ページ目に「前へ」ボタンを同様に追加すればいいでしょう!

はい、今日はここまで。今回は、ボタンタップによるPageView Pageの遷移アクションを設定しました。専用のアクションがあるなんて、びっくり。

次回は、渋いですが、Dividerをやります。

またね。

この記事が気に入ったらサポートをしてみませんか?