我正在尝试预加载图像并在 initstate 中声明一次
例子:
late List<String> _assetBg;
late List<Image> _imagesBg;
@override
void initState() {
// TODO: implement initState
super.initState();
_assetBg = ['assets/images/1.jpg',
'assets/images/2.jpg',
'assets/images/3.jpg',
'assets/images/4.jpg'];
_imagesBg = _initializeListImage(context, _assetBg);
WidgetsBinding.instance!.addPostFrameCallback((timeStamp) {
_tombolRenderBox =
_tombolKey.currentContext!.findRenderObject() as RenderBox;
});
}
Run Code Online (Sandbox Code Playgroud)
问题是 :
List<Image> _initializeListImage (BuildContext context,List<String> assets){
List<Image> result = [];
for (var asset in assets) {
result.add(
Image(
image: AssetImage(asset),
///Problem is here :
height: MediaQuery.of(context).size.height,
width: MediaQuery.of(context).size.width * 2,
fit: BoxFit.cover,
)
);
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
并在此处预重新加载:
@override
void …Run Code Online (Sandbox Code Playgroud)