我看到有一个用于抖动的图像传送带包装。
Widget Carousel = new Container(
child: new Carousel(
children: [
new AssetImage('images/img1.jpg'),
new AssetImage('images/img2.jpg'),
new AssetImage('images/img3.jpg'),
].map((bgImg) => new Image(image: bgImg, width: 1500.0, height: 1500.0, fit: BoxFit.cover)).toList(),
displayDuration: const Duration(seconds: 1),
),
);
我想知道是否有机会以阵列中给定的随机间隔将其自动化。
谢谢。
试过这个-这不消耗太多吗?
Widget build(BuildContext context) {
SystemChrome.setEnabledSystemUIOverlays([]);
setNewImage() {
List<int> duration = [5, 7, 3, 10];
List<String> imageURLs = ["assets/logo.jpg", "assets/logo.png", "assets/side-logo.png", "assets/background.jpg"];
(i == 4) ? i = 0 : i = i;
int waitTime = duration[i];
print("wait time: " + waitTime.toString() + " i: " + i.toString());
Future.delayed(Duration(seconds: waitTime), () {
setState(() {
i++;
int nextImg = (i+1 == 5) ? 0 : i;
print("Setting: " + nextImg.toString());
currentMainImage = imageURLs[nextImg];
});
});
}
setNewImageFunction() async {
await setNewImage();
}
setNewImageFunction();
}
忽略if语句和列表的建立...只是为了改变自身。