2014-01-15 3 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); 

И

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)); 
Смежные вопросы