今回はPageView
の基本的な使い方を紹介します。
PageView
を使えばスワイプしてページ移動できます。
目次
PageViewの使い方
PageView(
children: [
Center(
child: Text('Page 1'),
),
Center(
child: Text('Page 2'),
),
Center(
child: Text('Page 3'),
),
],
);
PageView
のchildren
にスワイプで表示させるページとなるWidgetを渡します。
デフォルトでは水平方向にスクロールします。
垂直方向にスワイプしてページ移動
PageView(
scrollDirection: Axis.vertical,
children: [
Center(
child: Text('Page 1'),
),
Center(
child: Text('Page 2'),
),
Center(
child: Text('Page 3'),
),
],
);
scrollDirection
の引数にAxis.vertical
を渡すことで垂直方向にスクロールさせてページ移動できます。
デフォルトはAxis.horizontal
です。
ページ移動する度にイベントを実行
PageView(
onPageChanged: (index) {
print('現在のページ:${index + 1}');
},
children: [
Center(
child: Text('Page 1'),
),
Center(
child: Text('Page 2'),
),
Center(
child: Text('Page 3'),
),
],
);
onPageChanged
の引数にコールバック関数を渡してページ移動する度にイベントを実行できます。
PageControllerでスワイプせずに操作
PageView
はコントローラーPageController
を使用して初期ページを指定したり、前ページ・次ページに移動などできます。
あわせて読みたい
【Flutter】PageControllerでPageViewを操作|ページ移動・初期ページ指定
今回はPageViewのコントローラーPageControllerの使い方を紹介します。 PageControllerを使えばPageViewの初期ページを指定、スワイプせずにページ移動できます。 【Pag…
サンプルコード
import 'package:flutter/material.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('FlutterZero'),
),
body: MyCustomApp(),
),
);
}
}
class MyCustomApp extends StatefulWidget {
const MyCustomApp({Key? key}) : super(key: key);
@override
State<MyCustomApp> createState() => _MyCustomAppState();
}
class _MyCustomAppState extends State<MyCustomApp> {
@override
Widget build(BuildContext context) {
return PageView(
onPageChanged: (index) {
print('現在のページ:${index + 1}');
},
children: [
Center(
child: Text('Page 1'),
),
Center(
child: Text('Page 2'),
),
Center(
child: Text('Page 3'),
),
],
);
}
}
一緒に読みたい
あわせて読みたい
【Flutter】PageViewを前ページ・次ページに移動させる
今回はPageViewで前ページ・次ページに移動させる方法をします。 PageViewをスワイプ(スクロール)せずにページ移動するにはPageControllerを使用します。 【事前準備】 …
あわせて読みたい
【Flutter】PageViewで指定したページに移動させる
今回はPageViewで指定したページに移動させる方法をします。 PageViewをスワイプ(スクロール)せずにページ移動するにはPageControllerを使用します。 【事前準備】 Page…
あわせて読みたい
【Flutter】PageViewで現在ページを取得する
今回はPageViewで表示されている現在のページを取得する方法を紹介します。 現在のぺージを取得するにはPageViewのonPageChangedを使用します。 【onPageChangedで現在…
参考