リストからウィジェットを作成
CoddyのFlutterジャーニー「はじめてのアプリ」セクションの一部。レッスン 29/32。
項目ごとにTextを1つずつ書くと長くなり、リストが変わると動作しなくなります。Dartでは、リスト内でforを使ってウィジェットを自動生成できます。
List<String> colors = ['red', 'green', 'blue'];
Column(
children: [
for (String color in colors) Text(color),
],
)次のように読みます。colors内の各colorについて、Text(color)を追加します。Columnには3つのテキストが入り、リストに4つ目の色を追加すると、4つ目のテキストも自動的に表示されます。
チャレンジ
簡単列には最初の2つの惑星だけが表示されています。2つのText行の代わりに、planetsリストに対する1つのforを使って、4つすべてを順番に表示してください。
自分で試してみよう
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
List<String> planets = ['Mercury', 'Venus', 'Earth', 'Mars'];
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
body: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Text(planets[0]),
Text(planets[1]),
],
),
),
),
);
}
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
はじめてのアプリのすべてのレッスン
自分で練習してみよう: Flutterオンラインコンパイラ