ListTile
고정 높이를 가지고 text, leading icon, trailing icon 등을 가지는 row
리스트의 아이템으로 많이 쓰인다.
예를 들면 이런거

주요 속성은
- title: 타이틀 텍스트
- leading: 타이틀 왼쪽 끝에 위치하는 아이콘
- trailing: 타이틀 오른쪽 끝에 위치하는 아이콘
- subtitle: 타이틀 아래에 위치하는 서브타이틀 텍스트
- dense: 텍스트 및 아이콘을 조금더 작은 크기로 표시
- isThreeLine: 서브타이틀에 멀티라인 허용
Code Template
import 'package:flutter/material.dart';
/// Flutter code sample for [ListTile].
void main() => runApp(const ListTileApp());
class ListTileApp extends StatelessWidget {
const ListTileApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData(useMaterial3: true),
home: const ListTileExample(),
);
}
}
class ListTileExample extends StatelessWidget {
const ListTileExample({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('ListTile Sample')),
body: ListView(
children: const <Widget>[
Card(child: ListTile(title: Text('One-line ListTile'))),
Card(
child: ListTile(
leading: FlutterLogo(),
title: Text('One-line with leading widget'),
),
),
Card(
child: ListTile(
title: Text('One-line with trailing widget'),
trailing: Icon(Icons.more_vert),
),
),
Card(
child: ListTile(
leading: FlutterLogo(),
title: Text('One-line with both widgets'),
trailing: Icon(Icons.more_vert),
),
),
Card(
child: ListTile(
title: Text('One-line dense ListTile'),
dense: true,
),
),
Card(
child: ListTile(
leading: FlutterLogo(size: 56.0),
title: Text('Two-line ListTile'),
subtitle: Text('Here is a second line'),
trailing: Icon(Icons.more_vert),
),
),
Card(
child: ListTile(
leading: FlutterLogo(size: 72.0),
title: Text('Three-line ListTile'),
subtitle:
Text('A sufficiently long subtitle warrants three lines.'),
trailing: Icon(Icons.more_vert),
isThreeLine: true,
),
),
],
),
);
}
}
출력

'개발 > Flutter' 카테고리의 다른 글
[Flutter] Navigation (0) | 2024.07.29 |
---|---|
[Flutter] Dialog (0) | 2024.07.23 |
[Flutter] Card (0) | 2024.07.23 |
[Flutter] JSON 입출력 (0) | 2024.07.23 |
[Flutter] stateful widget (0) | 2024.07.23 |
ListTile
고정 높이를 가지고 text, leading icon, trailing icon 등을 가지는 row
리스트의 아이템으로 많이 쓰인다.
예를 들면 이런거

주요 속성은
- title: 타이틀 텍스트
- leading: 타이틀 왼쪽 끝에 위치하는 아이콘
- trailing: 타이틀 오른쪽 끝에 위치하는 아이콘
- subtitle: 타이틀 아래에 위치하는 서브타이틀 텍스트
- dense: 텍스트 및 아이콘을 조금더 작은 크기로 표시
- isThreeLine: 서브타이틀에 멀티라인 허용
Code Template
import 'package:flutter/material.dart';
/// Flutter code sample for [ListTile].
void main() => runApp(const ListTileApp());
class ListTileApp extends StatelessWidget {
const ListTileApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData(useMaterial3: true),
home: const ListTileExample(),
);
}
}
class ListTileExample extends StatelessWidget {
const ListTileExample({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('ListTile Sample')),
body: ListView(
children: const <Widget>[
Card(child: ListTile(title: Text('One-line ListTile'))),
Card(
child: ListTile(
leading: FlutterLogo(),
title: Text('One-line with leading widget'),
),
),
Card(
child: ListTile(
title: Text('One-line with trailing widget'),
trailing: Icon(Icons.more_vert),
),
),
Card(
child: ListTile(
leading: FlutterLogo(),
title: Text('One-line with both widgets'),
trailing: Icon(Icons.more_vert),
),
),
Card(
child: ListTile(
title: Text('One-line dense ListTile'),
dense: true,
),
),
Card(
child: ListTile(
leading: FlutterLogo(size: 56.0),
title: Text('Two-line ListTile'),
subtitle: Text('Here is a second line'),
trailing: Icon(Icons.more_vert),
),
),
Card(
child: ListTile(
leading: FlutterLogo(size: 72.0),
title: Text('Three-line ListTile'),
subtitle:
Text('A sufficiently long subtitle warrants three lines.'),
trailing: Icon(Icons.more_vert),
isThreeLine: true,
),
),
],
),
);
}
}
출력

'개발 > Flutter' 카테고리의 다른 글
[Flutter] Navigation (0) | 2024.07.29 |
---|---|
[Flutter] Dialog (0) | 2024.07.23 |
[Flutter] Card (0) | 2024.07.23 |
[Flutter] JSON 입출력 (0) | 2024.07.23 |
[Flutter] stateful widget (0) | 2024.07.23 |