メインコンテンツまでスキップ

PageView

PageViewウィジェットは、複数のページを一度に1つずつめくって見るスクロール領域です。
オンボーディング・画像スライド・左右にめくる画面などに使用します。

定義・役割

PageViewウィジェットは、繰り返される子アイテムをページ単位で配置し、一度に1ページずつスワイプやスクリプトでめくれるようにします。スクロール方向(横/縦)・ページスナップ・スクロールの物理効果・両端の余白などを設定できます。

  • カテゴリー: Layouts
  • ドロップ時のサイズ: 親レイアウト(Row・Column・Stackなど)の中に入れるとデフォルトは300 x 200、最上位(親なし)に配置するとキャンバスを埋めるように大きく表示されます。

機能

機能説明
ページ単位のスクロール一度に1ページずつ表示し、スワイプでページをめくります。
スクロール方向横または縦の方向にページをめくるよう設定します。
ページスナップスクロールが終わると、最も近いページへ自動で合わせます。
繰り返しアイテム子を繰り返しレンダリングし、表示するページ数を調整します。
スクリプト制御goToPagenextPagepreviousPageなどで表示ページを制御し、ページが変わるとonPageChangedイベントを受け取ります。

使い方

  1. 左のウィジェットパレットでLayoutsカテゴリーを開きます。
  2. PageView項目をキャンバスにドラッグ&ドロップします。
  3. 中にページとして表示する子ウィジェットを配置します。
  4. 右側のPropertiesパネルでscrollDirectionpageSnappingなどを希望の値に調整します。
  5. 必要に応じてonPageChangedにページ切り替え時に実行する動作を接続します。

プロパティ

プロパティ説明デフォルト値値 / タイプ
scrollDirectionページをめくる方向横(horizontalhorizontal, vertical
itemCount表示するページ(アイテム)数0数値(整数)
reverseスクロール方向を逆に反転falsetrue / false
physicsスクロールの物理効果未設定bouncing, clamping, alwaysScrollable, rangeMaintaining, neverScrollable, page
pageSnappingスクロール後に最も近いページへ自動整列truetrue / false
dragStartBehaviorドラッグ開始の判定方式startdown, start
allowImplicitScrolling隣接ページを事前に読み込み(アクセシビリティスクロールを許可)falsetrue / false
restorationIdスクロール位置を復元する識別子未設定文字列
clipBehavior領域外の内容を切り取る方式hardEdgenone, hardEdge, antiAlias, antiAliasWithSaveLayer
padEnds最初と最後のページの両端に余白を追加truetrue / false

注意・ヒント

警告

physicsneverScrollableに設定すると、スワイプでページをめくれません。この場合はスクリプト(goToPagenextPagepreviousPage)でのみページを移動できます。

ヒント

ページが変わったときに実行する動作はonPageChangedに接続します。現在のページ番号は、スクリプトでgetCurrentPage()から確認できます。

さらに詳しく

ヒント

このウィジェットをスクリプトで制御するWidget Control(Property・Method・Event)の全体はPageView Widget Controlドキュメントで確認してください。