图像查看器自动幻灯片codenamone

时间:2016-02-22 11:59:12

标签: codenameone

我如何在3秒的时间间隔内自动滑动imageViewer。 或者是否有任何其他组件可以执行自动滑动任务。

ImageViewer imv = new ImageViewer();
DefaultListModel<Image> images = new DefaultListModel<Image>(new Image[]{a, thumbnail1, thumbnail2});
imv.setImage(images.getItemAt(0));
imv.setImageList(images);
imv.setSwipePlaceholder(Image.createImage(100, 100));

1 个答案:

答案 0 :(得分:2)

声明这个全局静态变量:

private static int slideIndex = 0;
//And this UITimer
UITimer t;

然后尝试下面的代码

final ImageViewer imv = new ImageViewer();
final DefaultListModel<Image> images = new DefaultListModel<Image>(new Image[]{a, thumbnail1, thumbnail2});
imv.setImage(images.getItemAt(0));
imv.setImageList(images);
imv.setSwipePlaceholder(Image.createImage(100, 100));

Runnable r = new Runnable() {
    public void run() {
        if (slideIndex < images.getSize()) {
            slideIndex++;
        } else {
            slideIndex = 0;
        }
        Image nextImage = (Image) images.getItemAt(slideIndex);
        if (nextImage != null) {
            imv.setImage(nextImage);
        }
    }
};
if (t == null) {
    t = new UITimer(r);
}
if (t != null) {
    t.schedule(3000, true, f); //3 seconds
}