+ Spacer(flex: 1),
+ FutureBuilder<Player>(
+ future: futurePlayer,
+ builder: (context, snapshot) {
+ if (snapshot.hasData) {
+ return Text(snapshot.data.name);
+ } else if (snapshot.hasError) {
+ return Text("${snapshot.error}");
+ }
+ return CircularProgressIndicator();
+ },
+ ),
+ Spacer(flex: 1),
+ FutureBuilder<List<Player>>(
+ future: allPlayers,
+ builder: (context, snapshot) {
+ if (snapshot.hasData) {
+ return Text(snapshot.data.length.toString());
+ } else if (snapshot.hasError) {
+ return Text("${snapshot.error}");
+ }
+ // By default, show a loading spinner.
+ return CircularProgressIndicator();
+ },
+ ),
+ Expanded(
+ flex: 10,
+ child: FutureBuilder<List<Player>>(
+ future: allPlayers,
+ builder: (context, snapshot) {
+ if (snapshot.hasData) {
+ if (snapshot.data.length == 0) {
+ return Text('No players yet');
+ } else {
+ return ListView.builder(
+ itemCount: snapshot.data.length,
+ itemBuilder: (context, index) {
+ return ListTile(
+ title: Text(
+ snapshot.data[index].name.toString()));
+ });
+ }
+ } else if (snapshot.hasError) {
+ return Text("${snapshot.error}");
+ }
+ return CircularProgressIndicator();
+ }),
+ )