2013-12-06 6 views
3

У меня есть imageview в моем relativelayout, мое требование:Размах анимация слева направо бесконечное время

я хочу красть imageview слева направо и FADEOUT, снова слева, FadeIn салфетки слева направо и исчезать

----       ---- 
| | swipe left to right | | Fade out here 
| | --> ---> --->   | | 
| |       | | 
----       ---- 

Fade снова слева и Repeat:

----       ---- 
| | swipe left to right | | Fade out here 
| | --> ---> --->   | | 
| |       | | 
----       ---- 

этого вопрос не соответствуют какому-либо другому вопросу в стеке, поэтому не пытайтесь его отмечать.

то, что я знаю, я могу использовать это:

Это для слева направо анимации:

<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shareInterpolator="false"> 
    <translate android:fromXDelta="-100%" android:toXDelta="0%" 
      android:fromYDelta="0%" android:toYDelta="0%" 
      android:duration="700"/> 
</set> 

и исчезать и исчезать эффект:

fadein.xml 

    <?xml version="1.0" encoding="UTF-8"?> 
     <set xmlns:android="http://schemas.android.com/apk/res/android"> 
     <alpha android:fromAlpha="0.0" android:toAlpha="1.0" 
      android:interpolator="@android:anim/accelerate_interpolator" 
      android:duration="2000"/> 
    </set> 
fadeout.xml 

    <?xml version="1.0" encoding="UTF-8"?> 
     <set xmlns:android="http://schemas.android.com/apk/res/android"> 
     <alpha android:fromAlpha="1.0" android:toAlpha="0.0" 
      android:interpolator="@android:anim/accelerate_interpolator" 
      android:duration="2000"/> 
    </set> 

но проблема заключается в том, как переместить образ назад назад в том же положении после того, как он исчезнет справа, чтобы снова вернуться налево и повторить.

+1

Я думаю, что вы могли бы сделать это программно, или, может быть, даже путем простого применения нового перевода -100% сразу же после того, как он исчез вправо. – cYrixmorten

ответ

1

Вы можете добавить Animation Listener в обе анимации.

При анимации угасания установите видимость ImageView на GONE. Затем запустите анимацию затухания и на onAnimationStart(), для этого установите видимость ImageView на VISIBLE.

Вам не нужно вообще устанавливать положение изображения, просто дайте анимации сделать свое дело.

EDIT:

Добавить перевод компонента к анимации в дополнении к замиранию:

fadein.xml 

<?xml version="1.0" encoding="UTF-8"?> 
    <set xmlns:android="http://schemas.android.com/apk/res/android" 
     android:interpolator="@android:anim/accelerate_interpolator"> 
    <alpha android:fromAlpha="0.0" android:toAlpha="1.0" 
     android:duration="2000" /> 
    <translate android:fromXDelta="-100%" android:toXDelta="0%" 
     android:duration="700" /> 
</set> 

fadeout.xml 

<?xml version="1.0" encoding="UTF-8"?> 
    <set xmlns:android="http://schemas.android.com/apk/res/android" 
     android:interpolator="@android:anim/accelerate_interpolator" > 
    <alpha android:fromAlpha="1.0" android:toAlpha="0.0" 
     android:duration="2000"/> 
    <translate android:fromXDelta="0%" android:toXDelta="100%" 
     android:duration="700"/> 
</set> 
+0

спасибо @howetti это сработало – Hamad

Смежные вопросы