2014-01-15 71 views
0

我是初學者,當談到這些事情時,如果這是一個簡單的問題,請道歉。ImageSwitcher在動畫之前顯示圖像

我試圖實現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); 

And

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; 
} 

我非常感謝一些幫助。

回答

0

您正在設置setInAnimation()2次。你沒有設置setOutAnimation()。

像:

imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in)); 
imageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this, 
android.R.anim.fade_out));