本エントリではListTile
を用いて簡単にリストのアイテムを作成する方法を説明する。
ListTitleとは
ListTile
は高さが固定されたリスト用のウィジェット。
指定の位置にText
やIcon
などを配置でき、簡単にそれらしいリストのアイテムが作成できる。
例えばLINEのトーク画面みたいなUIがListTile
で実現できる。
使用頻度の高いプロパティ
実際にリストのアイテムを作成する前に、事前知識としてListTile
で使用頻度の高いプロパティについて説明する。
説明用としてListTile
で上画像のウィジェットを作成した。
この画像をベースに説明する。
title
title
プロパティに渡したウィジェットは、画像では「大谷 翔平」の位置に表示される。
Text
ウィジェットなどを渡してリストアイテムのタイトルを表示することが多い。
subtitle
プロパティがnullの場合はリストアイテムの縦方向中央に配置される。
subtitle
subtitle
プロパティに渡したウィジェットは、画像では「今日もホームラン打ったよ」の位置に表示される。
Text
ウィジェットなどを渡してリストアイテムの捕捉情報を表示することが多い。
leading
leading
プロパティに渡したウィジェットは、画像では左端のアバター画像の位置に表示される。
リストアイテムを表すアイコン画像などを配置することが多い。
trailing
trailing
プロパティに渡したウィジェットは、画像では「7/28」の位置に表示される。
onTap
ListTile
をタップした際のイベントハンドラを渡す。
よくあるリストのアイテム作成方法
先ほど説明で使用した
を作成する方法を説明する。
実際のコードは次の通り。
leading
にはアバター画像としてCircleAvatar
を指定している。
title
、subtitle
、trailing
にはそれぞれText
ウィジェットを渡し、全体としてLINEのUIっぽくした。
またonTap
には空の無名関数が渡されている。例えばLINEっぽくする場合、ここにページ遷移のためにNavigator.of(context).push(...)
などの処理を記述したりする。