2015-10-15 11 views
16

左右対称の画像があり、右から左へスムーズに無限に移動したい。私はTranslateAnimationを使用しようとしましたが、最初はイメージを適切に設定する必要がありました。これは主にこのイメージがすべての画面幅を使用していて、負のマージンを設定する必要があるためです。他の解決策はありますか? ImageViewを動かさずに画像を移動する可能性はありますか?スムーズスライド画像片道

+0

このページャも使用できます。ここでデモhttp://codetheory.in/android-image-slideshow-using-viewpager-pageradapter/ –

+0

ええ、 '適切な'方法は、ViewPagerを使って画像をスワイプすることです。 – Muz

答えて

13

最後に私は自分でそれを作ったし、解決策があることを忘れないでください2つの画像を重ね合わせて画面の幅を測定し、2つのTranslateAnimationを使用します.1つは画面の幅から0まで、もう1つは0から画面の幅までです。

TranslateAnimation anim = new TranslateAnimation(0, -screenWidth, 0, 0); 
    TranslateAnimation anim2 = new TranslateAnimation(screenWidth, 0, 0, 0); 
    anim.setDuration(5000); 
    anim.setRepeatCount(Animation.INFINITE); 
    anim.setInterpolator(new LinearInterpolator()); 
    anim2.setDuration(5000); 
    anim2.setRepeatCount(Animation.INFINITE); 
    anim2.setInterpolator(new LinearInterpolator()); 
    backgroundOverlayImage.startAnimation(anim); 
    backgroundOverlayImage2.startAnimation(anim2); 
2

私は、これはあなたがやろうとしているものだと思う:

 TranslateAnimation anim = new TranslateAnimation(0, -1000, 0, 0); 
     anim.setDuration(1500); 
     anim.setFillAfter(true); 
     anim.setRepeatCount(0); 
     anim.setInterpolator(this, Android.Resource.Animation.LinearInterpolator); 

編集:最後にimageView.startAnimation(anim);

+1

このソリューションにはほとんど問題はありません。イメージがあまりにも大きく動いたときに空白が表示され、それを機能させるために負のマージンを設定する必要があります。 – falsetto

0

あなたはこのリポジトリtryの回答を得ましたが、これはスライドに関するすべてのクエリを解決し、ビューにカスタムアニメーションも追加します!

Preview

関連する問題