gpt4 book ai didi

android - flutter 图像自动幻灯片/轮播,给定随机间隔

转载 作者:行者123 更新时间:2023-12-04 11:46:17 24 4
gpt4 key购买 nike

我看到有一个用于 flutter 的图像轮播包。

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 语句和列表构建......只是为了改变图像本身。

最佳答案

你用的是哪个 Flutter 插件?使用 carousel_slider ,您应该可以使用 CarouselController 配置轮播何时切换到下一页.

CarouselController _carouselController = CarouselController();

...

CarouselSlider(
items: imageList,
carouselController: _carouselController,
options: CarouselOptions(
autoPlay: false,
),
),
然后运行 ​​ Future<void>更新轮播页面切换的时间间隔。
Future<void>randomizePageInterval(){
var n = 0;
var maxDelay = 5;
while(n == itemList.length){
/// Generate random interval
Future.delayed(Duration(seconds: Random().nextInt(maxDelay)), () {
/// Go to next page
_carouselController.nextPage(duration: Duration(milliseconds: 300),
curve: Curves.linear);
});

n++;
}
}

关于android - flutter 图像自动幻灯片/轮播,给定随机间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53316284/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com