Phần đầu và phần cuối
Thuộc phần Danh sách và màn hình trong hành trình Flutter của Coddy. Bài học 3 trên 33.
Một ListTile có một vị trí ở mỗi đầu. leading: nằm trước tiêu đề, thường là ảnh đại diện hoặc biểu tượng. trailing: nằm ở cuối hàng, thường là biểu tượng hoặc đoạn văn bản ngắn như thời gian.
ListTile(
leading: CircleAvatar(child: Text('AL')),
title: Text('Ada Lovelace'),
trailing: Icon(Icons.call),
)Ô này tự căn chỉnh mọi thứ cho bạn: tiện ích ở đầu nằm bên trái, tiêu đề và tiêu đề phụ chiếm phần giữa, còn tiện ích ở cuối được đẩy sát mép phải. Bạn không cần viết Row hay SizedBox.
Thử thách
DễHàng của Ada có ảnh đại diện với chữ viết tắt tên cô ấy và biểu tượng điện thoại. Thêm các thành phần tương tự vào hai hàng còn lại:
- một
leading:CircleAvatarvới chữ viết tắtATvàGH - một
trailing:Icon(Icons.call)
Tự làm thử
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
appBar: AppBar(title: const Text('Contacts')),
body: ListView(
children: const [
ListTile(
leading: CircleAvatar(child: Text('AL')),
title: Text('Ada Lovelace'),
subtitle: Text('+1 555 0101'),
trailing: Icon(Icons.call),
),
ListTile(
title: Text('Alan Turing'),
subtitle: Text('+1 555 0102'),
),
ListTile(
title: Text('Grace Hopper'),
subtitle: Text('+1 555 0103'),
),
],
),
),
);
}
}
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Danh sách và màn hình
1Danh sách cuộn
Danh sách có thể cuộnÔ danh sáchPhần đầu và phần cuốiChạm vào một ô danh sáchĐường phân cách giữa các hàng5Nhiều hơn một màn hình
Mở màn hình mớiMũi tên quay lạiQuay lại bằng nútGửi dữ liệu đến màn hìnhNhận lại kết quả6Tab, ngăn kéo và thao tác vuốt
Tab với thanh điều hướngBiểu tượng tô kín cho tab đang mởNgăn kéo bênVuốt để xóaHoàn tác thao tác vuốtTự luyện tập: Trình biên dịch Flutter online