我一直在尝试不同的方法来使用对象动画师获得展开/折叠动画,但到目前为止它们都没有奏效。
我已经使用了这个解决方案并且它有效,但是当我阅读文档时,它说使用 animator 来永久地为对象设置动画而不是动画更可取。
我的代码的问题是它总是从视图顶部开始,但我需要从底部展开/折叠视图。
这是我的代码:
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;
}