我的imageview
中有一个relativelayout
,我的要求是:
我想从左向右滑动imageview
并从左侧再次淡出,淡化从左向右滑动并淡出
---- ----
| | swipe left to right | | Fade out here
| | --> ---> ---> | |
| | | |
---- ----
从左侧再次淡入并重复:
---- ----
| | 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>
但问题是如何将图像视图从右边逐渐淡出并再次向左返回并重复时将图像视图重新定位到相同位置。
答案 0 :(得分:1)
您可以为这两个动画添加Animation Listener。
在淡出动画的onAnimationEnd()
处,将ImageView
的可见性设置为GONE
。然后,启动淡入动画,然后在onAnimationStart()
上设置ImageView
到VISIBLE
的可见性。
你根本不需要设置图像的位置,只需让动画做他们的事情。
编辑:
除了淡入淡出之外,为动画添加翻译组件:
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>