说到这些事情,我是个初学者,如果这是一个简单的问题,我很抱歉。
我正在尝试实现ImageSwitcher来循环一组图像。要做到这一点,我正在尝试实现定时器,如下所述:How to make an ImageSwitcher switch the image every 5 secs?
我已经得到的图像循环只是很好,但图像加载,然后动画发生。图像1将被显示,然后它将切换到图像2,然后淡出图像2并再次淡出它。然后,将在指定的时间内显示图像2,并重复该过程。
我希望图像1淡出,然后淡出图像2。
以下是我到目前为止所拥有的:
imageSwitcher = (ImageSwitcher) findViewById(R.id.welcome_image);
imageSwitcher.setFactory(this);
imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in));
imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out));上述问题的计时器:
Timer t = new Timer();
//Set the schedule function and rate
t.scheduleAtFixedRate(new TimerTask() {
public void run() {
//Called each time when 1000 milliseconds (1 second) (the period parameter)
currentIndex++;
// If index reaches maximum reset it
if(currentIndex==messageCount)
currentIndex=0;
runOnUiThread(new Runnable() {
public void run() {
imageSwitcher.setImageResource(imageIDs[currentIndex]);
}
});
}
},1000,5000);和
public View makeView() {
ImageView imageView = new ImageView(this);
imageView.setBackgroundColor(0x00000000);
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
imageView.setLayoutParams(new ImageSwitcher.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
return imageView;
}我非常感谢你的帮助。
发布于 2014-01-15 05:13:22
您将设置setInAnimation() 2次。您没有设置setOutAnimation()。
比如:
imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in));
imageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this,
android.R.anim.fade_out));https://stackoverflow.com/questions/21128007
复制相似问题