[Flutter]リストビュー(ListView)の要素にリップルエフェクトをつけるには?

Flutter

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

リストビューの要素にリップルエフェクトをつける方法を紹介します。

スポンサーリンク

方法

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

リストビューの要素にリップルエフェクトをつけるには、InkWellを使います。

具体的には、要素を1つ1つをInkWellの「child」に指定します。

そして、InkWellの引数「onTap」に関数を指定します。

ListView(
  children: [
      InkWell(
        onTap: () {/*Tap*/},
        child: /*Item*/,
      ),
      InkWell(
        onTap: () {/*Tap*/},
        child: /*Item2*/,
      ),
      InkWell(
        onTap: () {/*Tap*/},
        child: /*Item3*/,
      ),
  ],
),

これでリストビューの要素にリップルエフェクトがつきます。

以下は、使用例です。

  @override
  Widget build(BuildContext context) {
    return SafeArea(
      child: Scaffold(
        body: Padding(
          padding: const EdgeInsets.all(8.0),
          child: ListView(
            children: [
              for (var i = 0; i < 20; i++)
                InkWell(
                  onTap: () {},
                  splashColor: Colors.pink,
                  child: ListTile(
                    title: Text('$i'),
                  ),
                )
            ],
          ),
        ),
      ),
    );
  }

コメント

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