[Flutter]CardをPageViewで表示するには?

Flutter

どうも、ちょげ(@chogetarou)です。

CardをPageViewで表示する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

まず、PageControllerの変数を用意します。

PageControllerの引数で、PageViewの設定ができます。

  final _pageController = PageController(
    initialPage: /*最初に表示するページのインデックス*/,
    viewportFraction: /*画面の何割を占めるか*/,
  );

次に、PageViewを用意し、引数「controller」に用意した変数を指定します。

そして、PageViewの引数「children」に表示するCardのリストを指定します。

PageView(
  controller: _pageController,
  children: [
    Card(),
    Card(),
    Card(),
    ・・・
  ],
),

これでCardをPageViewで表示することが出来ます。

PageControllerの引数「viewportFraction」は、ページが画面の何割の大きさになるかを指定します。

PageViewが横向きなら横幅、PageViewが縦向きなら高さが変化します。

使用例

以下は、使用例です。

  final _pageController = PageController(
    initialPage: 0,
    viewportFraction: 0.8,
  );

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: SizedBox(
          height: 300,
          child: PageView(
            controller: _pageController,
            children: [
              Card(color: Colors.blue),
              Card(color: Colors.green),
              Card(color: Colors.pink),
            ],
          ),
        ),
      ),
    );
  }

コメント

タイトルとURLをコピーしました