我正在构建一个ImageSwitcher,以适应移动应用程序作为横幅切换器。目前我们使用Handler旋转横幅并将可运行时间延迟7秒(确切地说是7000毫秒),但我们希望两个图像之间有更精彩的过渡效果。我正在使用this作为参考,并且这样做很可怕。我理解它背后的概念,但我想完全剪切画廊部分,只需使用我们拥有的处理程序来使用ImageSwitch转换。
这是我们的图像切换代码:
private Runnable updateBannerRun = new Runnable(){
public void run() {
if (bannerQueue > 3){
bannerQueue = 1;
} else {
bannerQueue ++;
}
ImageView i = (ImageView)findViewById(R.id.imageView1);
switch (bannerQueue){
case 1:
i.setImageResource(R.drawable.image1);
break;
case 2:
i.setImageResource(R.drawable.image2);
break;
case 3:
i.setImageResource(R.drawable.image3);
break;
case 4:
i.setImageResource(R.drawable.image4);
break;
}
updateBanner();
}
};
这是处理程序的代码:
public void updateBanner(){
mHandler.postDelayed(updateBannerRun, 7000);
}
我最大的问题是当我们运行它时,我们会返回一个nullPointException。
非常感谢任何帮助。