当前位置的Android幻灯片动画

当前位置的Android幻灯片动画,android,Android,我正在尝试用android制作一个幻灯片上下动画。下面是一个屏幕截图和布局文件:底部的蓝色布局消失,并通过上下滑动显示 向上滑动xml文件: <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true" > <translate android:duration=

我正在尝试用android制作一个幻灯片上下动画。下面是一个屏幕截图和布局文件:底部的蓝色布局消失,并通过上下滑动显示

向上滑动xml文件:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true" >

<translate
    android:duration="500"
    android:fromYDelta="100%"
    android:toYDelta="0%" />

</set>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true" >


<translate
    android:duration="500"
    android:fromYDelta="0%"
    android:toYDelta="100%" />

</set>
问题是,如果我先按下向下滑动按钮,然后立即按下向上滑动按钮,则向上滑动从屏幕底部开始,而不是从按下向上滑动时的布局位置开始,这是很自然的,因为我设置了从Y增量100%到Y增量0%的向上滑动转换。看起来我需要用java代码定义动画,而不是xml文件。所以问题是,我如何才能得到当前的Y位置,当我在“向下滑动”动画结束之前按“向上滑动”时,它会从原来的位置开始向上滑动


谢谢

最简单的方法就是使用动画。在按钮的onClick处理程序中,只需在向下动画中选中
isRunning()
。如果它正在运行,只需对正在运行的动画调用
reverse()
;这将立即生效。如果它没有运行,您将启动一个新的

如果需要针对API 11之前的Android版本,可以使用NineodelDroids库获得向后兼容性

relativelayout_slideupdown_bottom.startAnimation(animation_slidedown);