2015-10-15 2 views
16

У меня есть изображение, которое является симметричным, и я хочу беспрепятственно перемещать его справа налево. Я попытался использовать TranslateAnimation, но сначала мне нужно правильно настроить изображение, что довольно сложно, потому что это изображение использует всю ширину экрана, и я должен установить отрицательные поля. Есть ли другое решение? И есть ли возможность перемещать изображение без перемещения ImageView?Гладкое изображение слайда в одну сторону

+0

вы также можете использовать пейджер также для этого. вот демонстрация http://codetheory.in/android-image-slideshow-using-viewpager-pageradapter/ –

+0

Да, «правильным» способом было бы использовать ViewPager для прокрутки изображений. – Muz

ответ

13

Наконец я сделал это по моей и решение поместить 2 изображения друг на друга, а затем измерить ширину экрана и использовать 2 TranslateAnimation, один от ширины экрана до 0 и второй от 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); 

Edit: в конце не забудьте imageView.startAnimation(anim);

+1

Существует несколько проблем с этим решением, он может показывать пустое пространство, когда изображение перемещается слишком сильно, и я должен установить отрицательные поля, чтобы заставить его работать. – falsetto

0

Хотя вы получили ответ, try этот репозиторий, это решит все ваши запросы относительно слайдов, а также добавит пользовательскую анимацию к вашим представлениям!

Preview