2017-06-12 18 views
1

私はimageViewを使って、ほぼ等しい5枚の画像を画面上にランダムに表示しています。すべての画像がオフで、すぐ次の画像が表示されます。 imageViewにアニメーション効果を追加することは可能ですか?画像へのアニメーション効果androidの画像ビュー

+0

がフェードインありhttps://stackoverflow.com/a/6822116/5505680ウル自己を変更することができます(のように、一つの画像が徐々にフェードアウトし、別の画像がフェードインその間に)それを組み合わせて、望ましい縮尺にする – matheszabi

答えて

0

uは

ImageView img_view= (ImageView) findViewById(R.id.DemoImage); 

int images[] = { R.drawable.image1, R.drawable.image2,R.drawable.image3 }; 

animate(img_view, images, 0,false); 

private void animate(final ImageView imageView, final int images[], final int imageIndex, final boolean forever) { 

    int fadeInDuration = 1000; 
    int timeBetween = 5000; 
    int fadeOutDuration = 1000; 

    imageView.setVisibility(View.INVISIBLE);  
    imageView.setImageResource(images[imageIndex]); 

    Animation fadeIn = new AlphaAnimation(0, 1); 
    fadeIn.setInterpolator(new DecelerateInterpolator()); 
    fadeIn.setDuration(fadeInDuration); 

    Animation fadeOut = new AlphaAnimation(1, 0); 
    fadeOut.setInterpolator(new AccelerateInterpolator()); 
    fadeOut.setStartOffset(fadeInDuration + timeBetween); 
    fadeOut.setDuration(fadeOutDuration); 

    AnimationSet animation = new AnimationSet(false); 
    animation.addAnimation(fadeIn); 
    animation.addAnimation(fadeOut); 
    animation.setRepeatCount(1); 
    imageView.setAnimation(animation); 

    animation.setAnimationListener(new AnimationListener() { 
     public void onAnimationEnd(Animation animation) { 
      if (images.length - 1 > imageIndex) { 
       animate(imageView, images, imageIndex + 1,forever); 
      } 
      else { 
       if (forever){ 
       animate(imageView, images, 0,forever); 
       } 
      } 
     } 

    }); 
} 
関連する問題