我想为一个列表设置动画,它将隐藏在屏幕下方,bottomMargin 是一个负值,然后当我单击一个按钮时,我对其进行动画处理,然后在动画完成后“onAnimationEnd”我修改边距以使其停止在动画结束的地方。
动画下来时效果很好,进入-ve后我看不到任何东西
但是在动画中,它比它有更多,并且修改边距,产生不好的效果“因为它没有停止它必须的地方”这就是我正在做的
动画下来:
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator">
<!-- same animation, linear interpolator -->
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:toYDelta="25%p"
android:duration="500"
/>
</set>
动画向上:
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator">
<!-- same animation, linear interpolator -->
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:toYDelta="-25%p"
android:duration="500"
/>
</set>
代码在 onAnimationEnd 中运行:
MarginLayoutParams params = (MarginLayoutParams) playerLayout.getLayoutParams();
if (params.bottomMargin == 0) {
params.setMargins(0, 0, 0, playerLayout.getHeight()* -1);
} else {
params.setMargins(0, 0, 0, 0);
}
playerLayout.setLayoutParams(params);
怎么了!!!在animation up中,动画区域开始正常出现,然后突然比正常位置快速上升,然后修改margin使其突然重新定位到正常位置。
这里是显示问题的视频的链接https://dl.dropbox.com/u/51616029/irrelevant/20121005323.mp4