[Flutter]リストビュー(ListView)の背景にグラデーションを設定するには?

Flutter

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

リストビューの背景にグラデーションを設定する方法を紹介します。

スポンサーリンク

方法

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

リストビューの背景にグラデーションを設定するには、まずリストビューを「Container」の「child」に指定します。

次に、「Container」の引数「decoration」に「BoxDecoration」を指定します。

そして、BoxDecorationの引数「gradient」でグラデーションを設定します。

Container(
  decoration: BoxDecoration(
    gradient: /*グラデーション*/,
  ),
  child: ListView(
    children: [],
  ),
),

以下は、使用例です。

  @override
  Widget build(BuildContext context) {
    return SafeArea(
      child: Scaffold(
        body: Padding(
          padding: const EdgeInsets.all(8.0),
          child: Container(
            decoration: BoxDecoration(
              gradient: LinearGradient(
                begin: Alignment.topCenter,
                end: Alignment.bottomCenter,
                colors: [Colors.blue, Colors.red],
              ),
            ),
            child: ListView(
              children: [
                for (var i = 0; i < 20; i++)
                  Card(
                    child: ListTile(
                      title: Text('$i'),
                    ),
                  ),
              ],
            ),
          ),
        ),
      ),
    );
  }

コメント

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