個人開発者が勉強がてらまとめているだけのサイトです

ページめくり Page Flip

本や雑誌のように、ページの端をつかんでめくると次のページが現れる。

別名
本をめくるページカールめくり効果絵本めくりPage CurlBook Flip
動き
角からめくれるドラッグでめくる裏が見える
作り方
パッケージあり 標準でも作れますが、pub.dev のパッケージを使うと早いです

本物の Flutter ウィジェットが動きます(初回は数秒かかります)

※ 動画は動きが分かるよう 1/2 の速さです。「触ってみる」は実際の速さで動きます

別タブで大きく開く ↗

どんなもの?

電子書籍・絵本・カタログのように「本を読んでいる」感覚を出したいときの動きです。

page_flip パッケージの PageFlipWidget に各ページのウィジェットを渡すと、ドラッグでめくれるようになります。

PageFlipController の nextPage / previousPage / goToPage で、ボタンからめくることもできます。

ページの見た目を画像として扱ってめくるので、ページの中に動くものやボタンを置く用途には向きません。

こんなときに

  • 絵本・マンガ・カタログなど、紙の本らしさを出したい

避けたい場面

  • 普通のアプリ画面の切り替え(演出が重く、操作の邪魔になる)

最小コード

final controller = PageFlipController();

PageFlipWidget(
  controller: controller,
  backgroundColor: Colors.white,
  lastPage: const Center(child: Text('おしまい')),
  children: [for (final page in pages) BookPage(page)],
);

// ボタンからめくる
controller.nextPage();

使うウィジェット

PageFlipWidgetPageFlipController

パッケージ: page_flip ↗

似ているもの・一緒に見たいもの

触ってみる ↗
ナビゲーション オンボーディングOnboarding

初回起動時に、アプリの特徴を数枚の画面で横スワイプしながら紹介する。下のドットで今何枚目かが分かる。

横にスワイプ
触ってみる ↗
画面遷移 共有軸の遷移Shared Axis Transition

手順を進むと画面が同じ向き(横・縦・奥)に送られ、戻ると逆向きに戻る。順番のある画面同士の関係が伝わる。

同じ向きに進む