オブジェクトアニメーターで展開/折りたたみアニメーションを取得するためにさまざまなアプローチを試みてきましたが、これまでのところどれもうまくいきませんでした。
私はこのソリューションを使用して動作しますが、ドキュメントを読むと、アニメーションではなくアニメーターを使用してオブジェクトを永続的にアニメーション化する方が好ましいと書かれています。
私のコードの問題は、常にビューの上から始まることですが、ビューを下から展開/折りたたむ必要があります。
ここに私のコードがあります:
public boolean collapse( View view, int start, int end )
{
AnimatorSet set = new AnimatorSet();
ObjectAnimator a = ObjectAnimator.ofFloat( view, "translationY", start, end );
set.play( a );
set.setDuration( 3000L );
set.setInterpolator( new LinearInterpolator() );
set.addListener( new AnimatorListenerAdapter()
{
@Override
public void onAnimationEnd( Animator animation )
{
}
} );
set.start();
return true;
}