请检查上面的链接以查看动画。
视频中的一个是用Java制作的,一个imageView使用UniversalImageLoader和Handler在2500毫秒的间隔内更改图像。
JavaCode:
int imgs[] = {R.drawable.efone, R.drawable.eftwo, R.drawable.efthree, R.drawable.effour, R.drawable.effive};
backgroundSlide = (ImageView) findViewById(R.id.bgSlide);
backgroundSlide.setImageResource(R.drawable.efone);
final Handler handler = new Handler();
Runnable runnable = new Runnable() {
int i = 0;
@Override
public void run() {
if (i > imgs.length - 1)
i = 0;
backgroundSlide.startAnimation(animAlpha);
ImageLoader.getInstance().displayImage("drawable://" + imgs[i], backgroundSlide);
i++;
handler.postDelayed(runnable, 2500);
}
};
Xml:
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:id="@+id/bgSlide"
android:src="@drawable/efone" />
答案 0 :(得分:2)
提示:
首先添加
import 'dart:async';
假设您有图片列表。
List<String> imgURLs = ['img1', img2, img3.....N];
以下更改图片的代码:
int index = 0;
const duration = const Duration(seconds:2); // change time as per your requirement
new Timer.periodic(duration, (timer){
setState(){
imageObj = imgURLs[index];
}
if(index >= imgURLs.lenght-1) {
timer.cancel();
}
index++;
});
可以使用initState
方法将此代码放在您的位置,并使用 imageObj
在屏幕上设置图像。
imageObj 可能是 Image 类型,也可能是基于您的图像列表的类型