画面の下に非表示になるリストをアニメーション化したい。アニメーションの場所は終了します。
アニメートダウンするとうまく機能します。-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);
なにが問題ですか!!!アニメートアップでは、アニメーション領域が正常に表示され始め、突然通常の場所よりも上に速く上がり、マージンの変更により、突然通常の場所に再配置されます。
問題を示すビデオへのリンクはこちらhttps://dl.dropbox.com/u/51616029/irrelevant/20121005323.mp4