1

我想在imageSwitcher课堂上设置一个计时器。我可以使用以下代码对 2 张图片执行此操作,但我无法添加更多图片。谁能告诉我如何向ImageSwitcher计时器添加更多图片?

imageSwitcher.postDelayed(new Runnable() {
            int i = 0;
            public void run() {
                imageSwitcher.setImageResource(
                    i++ % 2 == 0 ?
                        R.drawable.image1 :
                        R.drawable.mage2);
                imageSwitcher.postDelayed(this, 1000);
            }
        }, 1000);
4

1 回答 1

1

你可以存储在数组中

private static final int[] imgs = {R.drawable.image1,
                        R.drawable.mage2,
                        R.drawable.image3,
                        R.drawable.mage4};

然后通过使用索引变量和整数来使用这个数组来获取你想要的drawable。例如,您想显示圆形幻灯片,因此它从 0 开始,当它到达结束时,它将从头开始

private int index = 0;

imageSwitcher.postDelayed(new Runnable() {
            public void run() {
                imageSwitcher.setImageResource(imgs[index]);
                if(index==(imgs.length-1))
                     index = 0;
                else
                     index++;
                imageSwitcher.postDelayed(this, 1000);
            }
        }, 1000);
于 2012-10-01T07:48:05.660 回答