この記事はで読むことができます。
- FlutterのListTileウィジェットの高さをカスタマイズする方法
- ContainerまたはSizedBoxを使用して高さを指定する方法
こんにちは、ふわふわです!
Flutterについて調べてみても、情報が多すぎて「結局どう実装すればいいのかわからない」とお悩みではないでしょうか?
そんな方に向けて、【Flutterの舞台裏】を始めました!
Flutterの舞台裏では、Flutter初心者の方を対象に、基本的な実装方法から具体的なコード例まで、必要な情報だけを分かりやすく解説します。
この記事のレベル
「FlutterでListTileの高さを調整したいけど、どうやってカスタマイズすればいいの?」と悩んでいませんか?
ListTileは便利なウィジェットですが、デフォルトの高さが合わず、レイアウトが思い通りにならないことがあります。
私も最初は同じ悩みを抱えていました。
この記事では、Flutter初心者向けに、ListTileの高さを変更する3つの方法をわかりやすく解説します。
具体的なコード例を交えながら説明するので、すぐに実践できるのがポイントです。
これを読めば、ListTileのカスタマイズで悩むことはもうありません。ぜひ最後までご覧ください。
それでは、上記で紹介したポイント別に「ListTileの高さをカスタマイズする方法」を解説します。
最もシンプルな方法は、ListTile
ウィジェットを Container
または SizedBox
でラップし、高さを指定することです。この方法は、ListTile
自体のデフォルトサイズをオーバーライドしてカスタム高さを実現します。
Container(
tileColor: Colors.black12,
height: 80, // 高さを指定
child: ListTile(
title: Text('アイテム1'),
),
)
- カスタム高さを簡単に指定できます。
- デフォルトのレイアウト崩れを防ぐために
dense: true
を使用できます。

ListView
ウィジェットの itemExtent
引数を使うことで、すべてのリスト項目(ListTile
など)の高さを一括で指定できます。この方法はパフォーマンスの向上にも繋がるため、多くの項目を扱うリストに適しています。
ListView.builder(
itemExtent: 60, // 高さを指定
itemBuilder: (context, index) {
return ListTile(
dense: true,
title: Text('アイテム $index'),
);
},
itemCount: 10, // アイテム数を指定
)
- すべてのListTileの高さを一括して設定できます。
- リスト内のすべてのアイテムに同じ高さが適用されます。

ListTile
ウィジェットの dense
プロパティを使うと、リストアイテムの高さを調整し、よりコンパクトなレイアウトにすることができます。この方法は手軽でシンプルな実装が可能です。
ListTile(
tileColor: Colors.black12,
dense: true, // 密なレイアウトを有効化
title: Text('アイテム3'),
)
- “dense” プロパティを使用して、リストアイテムの高さを最適化できます。
- 個々のListTileに対して簡単に適用できます。

この記事では、FlutterのListTileの高さをカスタマイズする方法を3つ紹介しました。
ListTileのデフォルトの高さが合わず、レイアウト調整に苦労している方でも、簡単に実装できるテクニックを理解できたのではないでしょうか。
特に重要なポイントは以下の通りです。
- ContainerまたはSizedBoxを使用:ListTileをContainerやSizedBoxでラップして高さを指定するシンプルな方法。柔軟なカスタマイズが可能。
- ListViewのitemExtentを使用:すべてのListTileの高さを一括で設定。パフォーマンス向上の効果もあり、大量のリスト表示に最適。
- ListTileのdenseプロパティを使用:密なレイアウトを実現し、よりコンパクトに表示。手軽に実装できるのが特徴。
これらの方法を使い分けることで、ListTileの高さを自由に調整でき、見た目がスッキリとしたUIを実現できます。
ぜひ、ご自身のプロジェクトに取り入れてみてください。
もしカスタマイズに悩んだら、この記事を参考に再確認してくださいね。
ご質問があれば、どうぞお気軽にお尋ねください。
それでは、Happy Fluttering!

当メディアはリンクフリーです。SNSやブログでご紹介いただけると嬉しいです。