等待在Container中加载背景图像



如果这个问题听起来有点奇怪,我很抱歉。

我有一个问题,在控制器中加载背景图像需要多长时间。我正在使用Container的backgroundImage属性作为Scaffold的背景。但在加载特定页面的过程中,它会显示黑色背景,直到加载图像为止。

有没有一种方法可以让我在导航到所述页面之前等待加载图像?

下面是我的代码样本的页面有问题:

Widget build(BuildContext context) {
return Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage(imgSubscriptionBGPNG),
fit: BoxFit.fitHeight,
),
),
child: Scaffold(
backgroundColor: Colors.transparent,
body: Column()
),
);

哇!毕竟,这并没有那么难解决,这要感谢@Random先生的崇高建议。

我在前一个屏幕上预先剪切了图像,并将其作为参数传递到下一页。这对我很有效。

以下是代码片段:

在第一个屏幕的State类中:

final bgImage = AssetImage(imgSubscriptionBGPNG);
@override
void didChangeDependencies() {
precacheImage(bgImage, context);
super.didChangeDependencies();
}

在构建功能中:

BtnButton(
onPressed: () {
Navigator.push(context,CupertinoPageRoute(
builder: (context) 
=> SubscriptionScreen(bgImage: bgImage)));}),

最新更新