我对Flutter 翼是个新手,我正在努力学习这个平台.因此,在这里,我试图将json占位符中的信息显示到一个alert 对话框中,当按下main.dart中的按钮时被激活(我没有在这里包括代码).当数据加载时,我希望alert 对话框出现,并显示一个循环进度指示器,在数据加载之后,进度指示器被3个容器替换.
import 'dart:math';
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
showAlertDialog(BuildContext context)async
{
Map res=await fetchData();
Color bc=(res["id"]%2==0)?(const Color.fromARGB(255, 44, 255, 2)):(const Color.fromARGB(255,255,0, 0));
AlertDialog alert=AlertDialog
(
title: const Text("TextFromNet"),
content:Column
(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children:
[
Container
(
//text from res and color bc
),
const SizedBox(height:15),
Container
(
//text from res and color bc
),
const SizedBox(height:15),
Container
(
//text from res and color bc
),
]
)
);
showDialog
(
context:context,
builder:(BuildContext context){return alert;},
);
return const CircularProgressIndicator();
}
fetchData()async
{
final response=await http.get(Uri.parse('https://jsonplaceholder.typicode.com/albums/${Random().nextInt(100)}'));
if(response.statusCode==200) {return json.decode(response.body);}
else {throw Exception('Failed to Fetch');}
}
目前alert 对话框在按下该按钮大约1秒后出现,我希望此时在alert 对话框内显示一个循环进度指示器,标题为"TextFrom Internet".我试着寻找一些方法,但我想不出一条明确的路.我猜我必须做一些与alert 对话框状态相关的事情,但我不确定.请帮帮忙.我已经从容器中删除了代码以使代码更短.