Jawaban
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('To-Do List')),
body: ToDoList(),
),
);
}
}
class ToDoList extends StatelessWidget {
final List<String> tasks = [
'Belajar Flutter',
'Membaca dokumentasi Flutter',
'Mengerjakan proyek Flutter',
'Mengikuti kursus online Flutter',
];
@override
Widget build(BuildContext context) {
return ListView.builder(
itemCount: tasks.length,
itemBuilder: (context, index) {
return Padding(
padding: const EdgeInsets.all(8.0),
child: ListTile(
leading: Icon(Icons.check_circle_outline),
title: Text(tasks[index]),
),
);
},
);
}
}
Penjelasan:
-
MyAppadalah kelas utama aplikasi yang menggunakanMaterialAppdan menampilkanToDoListdi dalamScaffold. -
ToDoListadalah kelas yang menampilkan daftar tugas menggunakanListView.builder. -
ListView.builderdigunakan untuk membuat daftar tugas dengan jumlah item yang dinamis sesuai dengan panjang daftartasks. -
Paddingdigunakan di sekitar setiapListTileuntuk memberikan jarak 8 piksel di semua sisi, sehingga item tidak saling berhimpitan. -
Setiap
ListTilemenampilkan ikon centang di sebelah kiri (leading: Icon(Icons.check_circle_outline)) dan teks deskripsi tugas di sebelah kanan (title: Text(tasks[index])).